在上一篇文章中,我们聊到了如何使用 Ollama 与 Qdrant 构建 RAG 知识库。虽然那套基于 LangChain 的方案在逻辑上非常清晰,但对于大多数希望快速落地的朋友来说,编写和维护大量的 Python 代码脚本依然存在不小的门槛。
此外,传统的 RAG 方案往往局限于“本地文档”。一旦你问及最新的技术资讯或实时新闻,纯本地的 AI 就会陷入“知识断层”。
今天,我们要更进一步,引入 2026 年最受欢迎的开源大模型开发平台 —— Dify。通过它,我们将以可视化、低代码的方式,把本地的 Ollama、自建向量数据库以及实时联网搜索整合在一起,打造一个真正具备实战价值的私有 AI 助手。
为什么选择 Dify?
如果说 Ollama 是 AI 的大脑,那么 Dify 就是它的“操作系统”。
- 可视化编排:你不再需要纠结于代码逻辑,通过拖拽式的工作流(Workflow),就能清晰地定义 AI 处理问题的每一个步骤。
- 开箱即用的 RAG:Dify 内置了极其完善的文档解析、清洗和分段功能。
- 强大的插件生态:支持直接集成搜索引擎(如 Google, SearXNG),让你的 AI 具备实时检索能力。
- 统一的 API 出口:你可以一键将你的 AI 应用发布为 Web 服务,或者通过标准 API 集成到你的博客、飞书或 Slack 中。
架构方案:全栈私有化
为了确保隐私与性能的平衡,我们的推荐架构如下:
- 模型推理:Ollama (运行 Qwen2.5 或 DeepSeek-V3)
- 应用编排:Dify (Docker 部署)
- 知识存储:Milvus 或 Weaviate (Dify 默认集成)
- 联网搜索:SearXNG (本地部署的元搜索引擎)
实战步骤
1. 部署 Dify 环境
推荐使用 Docker Compose 快速部署。在你的 Homelab 服务器上执行:
git clone https://github.com/langgenius/dify.git
cd dify/docker
cp .env.example .env
docker compose up -d
启动后,访问 http://your-ip:80 即可进入 Dify 的初始化界面。
2. 连接本地 Ollama
在 Dify 的“设置 -> 模型供应商”中,找到 Ollama。
- 模型类型:LLM
- 模型名称:你在 Ollama 中拉取的模型名(如
qwen2.5:14b) - 基础 URL:这里需要填写 Dify 容器能够访问到的 Ollama 地址。如果在同一台机器,通常是
http://host.docker.internal:11434。
3. 构建“知彼知己”的工作流
这是本次实践最精彩的部分。在 Dify 中新建一个“助手”应用,选择“工作流”模式:
- 开始节点:接收用户的问题。
- 知识库检索节点:连接你上传的本地文档。如果匹配到相关内容,AI 将优先基于本地知识库回答。
- 条件分支 (Optional):如果没有在本地知识库找到答案,则流转到下一个节点。
- 联网搜索节点:通过 SearXNG 插件发起实时搜索。
- LLM 节点:将本地知识、搜索结果和原始问题合并,生成最终回复。
联网搜索的妙用
通过集成本地部署的 SearXNG,你的私有 AI 助手将彻底摆脱“训练数据截止日期”的束缚。
当你询问“今天 Sing-box 的最新版本是多少?”时,AI 不再会胡编乱造,而是会先通过 SearXNG 爬取官方 GitHub Release 页面,获取准确的版本号和更新日志,再以结构化的语言回复给你。
深度思考:从“调包侠”到“架构师”
从直接调用 ChatGPT API,到使用 Ollama 跑本地模型,再到如今通过 Dify 编排复杂的 RAG + Agent 工作流,我们对 AI 的应用正在从简单的“对话”转向复杂的“任务处理”。
Dify 的意义不仅在于简化了开发流程,更在于它提供了一种解耦的思路:模型是可替换的,数据是私有的,而逻辑是可沉淀的。
在这种模式下,你不再是一个被动的 API 使用者,而是一个真正的 AI 应用架构师。在这个信息爆炸且真假难辨的 2026 年,拥有一套既懂你的专业领域、又能随时触达全球信息的私有系统,正是我们保持竞争力的核心资产。
下一篇预告:我们将回到网络底层,探讨 Sing-box Pithy 模式下如何进行极致的 DNS 调优。敬请期待。