公司文档不敢传云端,SaaS 知识库年费年年涨,通用的对话模型又记不住你的笔记体系——三个痛点叠在一起,本地私有智能体就成了值得花一个下午搭的东西。这篇把部署、对接、代码、验证四段完整走一遍,坑都标出来。
智能体和对话模型的分界线
普通大模型是被动应答:问一句答一句,会话结束记忆归零。智能体是目标驱动:给它一个任务,它自己拆步骤、查资料、调工具、迭代交付。差距不在模型多聪明,在外围有没有给它配记忆和工具。
| 维度 | 对话模型 | 智能体 |
|---|---|---|
| 驱动方式 | 被动应答 | 目标驱动自主执行 |
| 记忆 | 单次会话 | 挂接知识库长期记忆 |
| 工具 | 无 | 读写文件、检索、生成文档 |
| 适用 | 问答、片段代码 | 调研、整理、自动化流水线 |
技术栈:三件套就够
Obsidian 管存储——纯 Markdown、双链、数据全在本地磁盘;DeepSeek 管理解——7B/14B 量化版消费级显卡能跑;Python 脚本管调度——百来行代码实现任务循环,单机场景没必要先上重型框架。
部署环节的四个真实坑
Ollama 安装本身没有难度,Windows 用 winget install Ollama.Ollama,macOS 用 brew install ollama。坑都在后面:
坑一:模型下载中断。 几 GB 的模型文件在网络抖动时经常断,ollama pull deepseek-r1:7b 重跑同一命令会续传,不用删缓存。
坑二:显存不够直接 OOM。 7B 模型 FP16 权重需要约 14GB 显存,8GB 卡跑不动。解法是拉量化版:ollama pull deepseek-r1:7b 默认就是 Q4 量化,显存需求压到 5GB 上下。14B 同理,Q4 量化后约 9GB。
坑三:局域网访问不通。 Ollama 默认只监听 127.0.0.1。想让同网段其他设备调用,Windows 要设环境变量 OLLAMA_HOST=0.0.0.0 并重启服务,防火墙再放行 11434 端口——漏了防火墙这步,表现为连接超时而不是拒绝,容易误判成模型没加载。
坑四:首次语义索引卡住。 Smart Connections 插件第一次扫描全库要做向量化,几千篇笔记可能要半小时,界面看着像假死。看 Obsidian 开发者控制台的日志确认在跑就行,别中途删插件重装。
部署是否成功用一条命令验证:
curl http://localhost:11434/api/chat -d "{\"model\":\"deepseek-r1:7b\",\"messages\":[{\"role\":\"user\",\"content\":\"回复OK\"}],\"stream\":false}"
返回 JSON 里有正常回复即通。
对接 Obsidian
插件装三个:Text Generator 负责把本地 API 接进编辑器,API 地址填 http://localhost:11434/v1,模型名与拉取的标签一致;Smart Connections 负责向量化与语义检索;Templater 负责按模板生成结构化文档。
调度代码的一个关键缺陷
网上流传最广的版本,工具函数长这样——检索全靠文件名匹配:
def search_knowledge(self, query):
results = []
for root, _, files in os.walk(VAULT):
for f in files:
if f.endswith(".md") and query.lower() in f.lower():
results.append(os.path.join(root, f))
return results[:5]
这段代码能跑,但和前面装的语义插件完全脱节:用户问「上次那个缓存穿透的记录」,文件名里没有「缓存穿透」四个字就什么都搜不到。检索这个词是语义问题,靠字符串包含解决不了。真实可用的做法是走 embedding:把全库笔记切块向量化存进本地库(Chroma 单机够用),检索时先向量召回再交给模型。语义插件已经把向量建好了,调度代码应该调它的索引数据,而不是自己另起炉灶做文件名匹配。
同理,「抛弃 LangChain」这个说法也别照单全收。单机三五个工具确实裸写更清爽;一旦工具上到两位数、需要重试策略、并发调用和状态持久化,框架省下的轮子就值回票价了。按任务复杂度选,不按流行度选。
验证效果的两把尺
吞吐基准:同一组五个提示词分别打 7B 和 14B,记录每秒输出 token 数。8GB 卡上 7B 量化版通常能到 20 tokens/s 以上,14B 掉到个位数——低于 5 的交互体验会让人放弃使用,这时候降档比等待明智。
检索质量:准备十个「只知道内容大概、不知道文件名」的问题,分别用文件名匹配和向量召回跑一遍,数命中率。这个对照做完,你对两种方案的差距会有直观判断,比看任何评测都实在。
收尾
这套方案的价值排序是:数据不出本机第一,零订阅费第二,能挂自己的笔记体系第三。至于自动化程度,先把检索和写入跑稳,再谈任务循环——底座不牢的智能体,只会用稳定的速度产出错误的结果。

评论0