[NAS教程] 绿联NAS部署Ollama,免费跑向量模型
Hi,我是执着于持续分享数码家电、软件技巧相关知识,坚持创作有深度、高质量作品的博主 设计虱聊科技。期待您的关注。
别再怪 Hermes 或者 OpenClaw 变笨了。
AI Agent 根本没"记忆"这回事。它之所以"忘事",只是因为搜索方式不对。
我们以为Agent在"记忆",其实它在"搜索"
不管是 Hermes 还是 OpenClaw,所有的 AI 助手,他们都有一个"上下文窗口"用来记录最近的对话,容量一般在 128 k~1 M Token,就像一个笔记本,塞满了就要把前面记的删掉,腾出地方再记录新的内容。
当我们跟AI聊到第100轮时,最早那些内容就被挤到归档文档中去束之高阁了。
那之前的对话怎么回忆起来呢?以 Hermes 为例,它将所有历史会话写入本地 SQLite 数据库,并利用其内置的 FTS5 引擎建立索引。我们提到某个很久以前说过的关键词时,Hermes 都会在海量会话数据中进行关键词查询,试图回忆起来。
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a140539cd6fd1701.jpg_e1080.jpg)
一般情况下,FTS 5 搜索都十分高效。但当我们对话记录越来越多,就会发现存在匹配不精准的问题:FTS 5 本质上还是 关键词匹配。关键词匹配就像查字典,我们必须精确知道对话原文里用了什么词,才能找到。
比方说,很久以前我们和 Hermes聊过"Docker容器OOM被kill"的问题,现在问他"上次那个NAS 内存问题",抱歉,两个词完全不一样,搜不到。
关键词搜索只能找"字一样"的,找不到"意思一样"的。
有没有办法解决这个问题呢?
有的,兄弟,有的。而且在本地就能解决。我也更推荐在本地解决。
向量搜索:让它真正"理解"你
向量搜索就是专门为了解决这种问题而生。
简单说,向量就是把每段文字变成一串数字,这串数字代表"意思"。
"NAS内存不够用"和"Docker容器OOM",字面上完全不同,但意思差不多。向量模型会给它们生成两组很接近的数字。一搜"内存问题",向量搜索就知道你想找的是OOM那回事。
不用记原话怎么说,大概齐描述就能找到。
两种搜索,各有各的好
关键词搜索:搜精确的东西好用。型号名、参数名,直接搜就完事了。
向量搜索:搜模糊的意思好用。不用记原话怎么说,大概齐描述就能找到。
最好的方案是两个一起用。 关键词保精准,向量保语义,各取所长。
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a140539db5d91701.jpg_e1080.jpg)
为什么要在本地跑?
直接用云端API不行吗?
对于我们的使用场景,本地跑更省心:
一次部署,永远能用,不用每月交API费
不依赖网络,断网也不影响
数据不出门,对话记录留在自己设备上
而且我们在家用NAS上跑一个向量模型,功能上完全够用,硬件上完全可行。这里我用绿联 DX 4600 这台 NAS 为例介绍下部署方法。当然,PC 部署的同学也可以参照部署(硬件配置更高,效果更好)。
在绿联NAS上部署Ollama
首先要部署 Ollama,这是一个开源工具,能让你在本地设备上轻松下载、运行和管理各种开源大语言模型,真正实现“一键本地部署”。
我们直接用 Docker Compose 部署 Ollama,方便管理。
services:
ollama:
image: ollama/ollama:latest
container_name: ollama
network_mode: host
environment:
- OLLAMA_HOST=0.0.0.0 # 允许外部访问
- OMP_NUM_THREADS=2 # 限制CPU线程数
volumes:
- ./ollama-data:/root/.ollama
restart: unless-stopped
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a1405393f5841701.jpg_e1080.jpg)
按上面命令配置完成后,点击立即部署,等镜像拉取完成,容器正常启动,就可以进行下一步了:在 Ollama 中拉取合适的向量模型。
考虑到 NAS 的硬件配置有限,我们要选择一个性能均衡的中文向量模型,建议 选择 herald/dmeta-embedding-zh 或者 bge-base-zh-v 1.5 。
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a1405392a2581701.jpg_e1080.jpg)
这个两个模型虽然只有200MB左右,但是能力可不弱。向量维度 768 维,非常适合低功耗设备的语意搜索、问答、RAG、文本相似度计算等场景,做 Hermes 的向量模型够用,绿联 DX4600 的 N5105这种低功耗CPU也能跑。
以 herald/dmeta-embedding-zh 为例,进入 ollama 容器,新增终端,输入以下命令拉取模型。
ollama pull herald/dmeta-embedding-zh
我们耐心等待,看到success后,就是成功了。
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a140539019b41701.jpg_e1080.jpg)
我们就可以告诉 Hermes 我们已经在 ollama 部署了 herald/dmeta-embedding-zh 这个向量模型,地址是 你的NAS IP:11434,Hermes 就会自动调用了。
给 Hermes 下达历史对话向量化的任务后,我们可以去 Ollama 的后台看下日志,如果返回结果是一排排的“200”,就是向量化成功了。
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a1405395b1181701.jpg_e1080.jpg)
当然你也可以试试其他更高参数的模型,我尝试了 bge-m 3,这是一个 1024 维的向量模型,它可以让语意搜索更精准,但是以 NAS 的硬件还是太吃力了,尤其是没有显卡,只能用 CPU 的 NAS,经常返回超时失败。
![[NAS教程] 绿联NAS部署Ollama,免费跑向量模型](https://am.zdmimg.com/202605/25/6a1405391a7451701.jpg_e1080.jpg)
所以,选择模型还是以适合自己设备的为标准。可以不同的模型都跑一跑试试,最后留下最适合的那个。
最后
AI"记不住"不是模型笨,是搜索方式有天花板。
关键词搜"字一样"的,向量搜"意思一样"的。两个一起用,AI才能真正"记住"你说过什么。
本地跑一个向量模型,一次部署终身免费使用。但是在实际使用过程中,还是有很多坑要踩,很多优化工作要做。
下一篇我们就讲讲,我踩了哪些坑,要怎么优化它们。
坚持创作有深度、高质量的作品、致力于分享干货、抵制标题党和网络垃圾,是我的座右铭。
您的支持对我真的很重要O(∩_∩)O)。让我们共同打造互联网内容创作和知识分享的一股清流!ヾ(◍°∇°◍)ノ゙

皮皮虎123
校验提示文案
皮皮虎123
校验提示文案