有了知识库的基础,我们终于可以大张旗鼓地推进实际部署的工作了。在这里我们可以先放下对知识库的执念,专心思考一下全局的部署框架。

基于功能需求确定整体架构

赛博师兄的核心需求包括:

  1. 实验室内部访问
  2. 模型与数据本地存储
  3. 能够实现对话功能
  4. 算力需求友好
  5. 可移植性和复用性

大概就这么多,至于性能方面的需求暂且不是我们要关注的。(能跑起来再说吧)

基于Docker的本地模型部署与Agent接入

本着不反复造轮子的初衷,主要基于Docker承载着必要的工具,包括:

  • Gitea:一个轻量化的共享平台与版本控制工具。
  • Ollama:运行本地大模型的神奇。
  • Open-WebUI:与本地大模型进行交互对话的测试组件。

其中,Gitea是用来做一个在线备份,避免日后Agent无法启动时,他还能为师弟师妹撑起最后一道资源平台,他不是这个项目的主角,感兴趣的友友可以参考官方文档进行安装

安装 | Gitea Documentationhttps://docs.gitea.com/zh-cn/category/installation

以Docker为基础,Ollama承载着本地大模型,结合Obsidian搭建好的知识库,送入Agent框架,通过交互界面与用户实现对话。最后的交互层的实现思路暂时还不是很清晰,需要进一步考虑和探索。

配置前提

要进入下面的步骤,你需要保证你的服务器完成了以下配置:

1. Docker:

2. WSL2:

3. 可以上网(能科学上网更好了)

其中,Docker和WSL的安装可参考:

win10+WSL2+docker配置历程_win10 wsl docker-CSDN博客https://blog.csdn.net/ZHHHHH15/article/details/135500172?spm=1001.2014.3001.5502好了,让我们开始吧

Ollama

Ollama的安装也非常简单,以下是他的官网,大家可以选择安装Mac、Linux或者windows上

Ollamahttps://ollama.com/欸,,不对啊,跑题了。作为一台资源有限的服务器,而且这是在基于Docker的章节下,怎么能随随便便装在本地呢。让我们采用更优雅的方法安装:

启动你的docker

进入你的WSL,选择一个路径创建ollama的专属位置,我选择home:

cd /home
mkdir ollama
cd ollama

随后优雅地执行:

docker run -d \
 -v ollama:/root/.ollama \
 -p 11434:11434 \
 --name ollama \
 ollama/ollama

好了,让我们去刷个抖音、喝个茶、看看博主的其他博客。。。。。

当终端黑框的所有pull项全部完成的时候,你会看到,docker启动页上多了一个ollama的标识

访问ollama的默认端口,也就是在浏览器输入:

http://localhost:11434/

不出意外你就可以看到:

ok,ollama运行成功了

pull一个大模型

接下来让我们pull一个大模型到本地,首先进入ollama的工作空间

docker exec -it ollama bash

随后相中一个差不多的模型,起码能支撑64000 context_length的模型,因为这是hermes的最低配置。亲自尝试,qwen 1.5b和7b不太行。你要问我为什么选择这么小的模型,别忘了我们的前提,这是一台算力资源及其有限的小主机罢了。qwen2.5:14b又太大,无法在当前服务器运行。

在这里,博主遇到了一个特别尴尬的事情,低估了Agent的上下文长度常识。ollama8B模型也只能支持8k左右的context_length,而hermes框架最低要求64k,openclaw则是128k,当前设备根本无法满足,因此在后续操作暂且使用deepseek做原型机测试,敬请谅解。

在WebUI上看看效果

其实这一步可有可无,用于仅使用大模型的用户吧,在docker中运行

docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

等待pull完成,同样可以在docker首页看到一个open-webui字眼的标识,待启动完毕后访问,创建一个管理员权限就可以使用啦,它可以自动检测本地的大模型并与其对话。

很好,模型可用,接下来就请我们Hermes Agent登场吧!

Hermes登场

hermes安装很简单,可以参考进行安装。

大名鼎鼎的Hermes Agent,到底是怎么回事?_hermes agent 第二天失忆了-CSDN博客https://blog.csdn.net/ZHHHHH15/article/details/160102129?spm=1001.2014.3001.5501遇到网络问题的话也可以通过中文社区加速:

curl -fsSL https://res1.hermesagent.org.cn/install.sh | bash

进入引导程序,选择快速安装

选择 对应的模型,通常会加载到本地模型,如果没有的话就选择Custom Endpoint配置接口。当你的本地足以支撑64k context length模型时,在在url部分输入 localhost:11434/v1 即可,随后选择本地模型就好。

接入知识库

将obsidian创建的知识库目录拷贝到/.hermes路径下,并通过提示词引导hermes更新SOUL,灌输知识库中的内容。

让我们期待他的第一个回答。

第一个回答

尽管效果和单纯的大模型问答区别不大

尽管最后的模型接入有点尴尬

但是起码是奏效的。

总结

当想法照进现实,有一种对“造就智慧”的成就感。尽管效果一般般,但是这只是一个开始。

我给这位大师兄取名为Garine,它是我,也不是我。

它还有很长的路要走,我也一样。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐