主题模式
Are you an LLM? You can read better optimized documentation at /ai/homelab/ai-knowledge-base-rag.md for this page in Markdown format
搭建个人专属的 AI 知识库:结合 RAG 与向量数据库
在之前的文章中,我们学会了如何用 Ollama 运行大模型。但你是否发现,当你问它一些私人的、或者非常新的问题时,它经常会“一本正经地胡说八道”?
这是因为大模型的知识是停留在训练截止日期的。为了解决这个问题,我们需要引入 RAG (检索增强生成) 技术。简单来说,就是给 AI 配一个“随身图书馆”。
1. 什么是 RAG?由浅入深看原理
想象一下你在考试:
- 普通 LLM:全靠脑子记,记错了就答错(幻觉)。
- RAG 模式:允许你翻书。系统先去你的“知识库”里找到相关段落,再交给 AI 总结答案。
流程如下:
- 用户提问。
- 向量数据库:将你的私有文档(PDF、Word、Markdown)转换成数学向量并存储。
- 检索:根据问题,在数据库中找到最相关的几段内容。
- 生成:把“问题 + 找到的内容”一起发给 Ollama,让它基于事实回答。
2. 核心组件选择
要搭建这套系统,我们需要三个零件:
- 大脑 (LLM):继续使用我们熟悉的 Ollama。
- 图书馆 (Vector DB):推荐 ChromaDB 或 Milvus。它们轻量且易于集成。
- 管理员 (Framework):推荐 Dify 或 LangChain。Dify 提供了可视化的界面,非常适合新手。
3. 实战:使用 Dify + Ollama 搭建
第一步:部署 Dify
Dify 是目前最流行的开源 LLM 应用开发平台。你可以使用 Docker 一键部署:
bash
git clone https://github.com/langgenius/dify.git
cd dify/docker
docker compose up -d第二步:配置 Ollama 模型
在 Dify 的后台,添加一个新的模型供应商,选择 Ollama。填入你的 VPS 地址(记得开启远程访问),选择 deepseek-coder 或 qwen2.5 作为基座模型。
第三步:创建知识库
- 在 Dify 中点击“知识库”,上传你的学习笔记或技术文档。
- 系统会自动进行分段 (Chunking) 和 向量化 (Embedding)。
- 创建一个聊天应用,关联这个知识库。
4. 进阶优化建议
- 分段策略:对于代码类文档,建议按“函数”分段;对于文章,建议按“段落”分段。
- 混合检索:同时开启“关键词检索”和“向量检索”,能大幅提高准确率。
- 引用标注:让 AI 在回答时标注出处,方便你回溯原文。
结语
拥有自己的 AI 知识库,意味着你不再只是在和一个通用的机器人对话,而是在和一个读过你所有笔记的私人助理交流。
下一步探索:
- 想要更美观的聊天界面?试试 Open WebUI 的知识库插件。
- 想要随时随地访问?别忘了用 Cloudflare Tunnel 把它发布到公网。