RAG知识库搭建实现私有文档问答:RAG知识库搭建
准备工作:你需要什么?
搭建 RAG 知识库并不需要昂贵的 GPU,一台具有 8GB 以上内存的普通服务器或云主机就够了。
你需要提前安装好 Docker 环境(如果还没装,去 Docker 官网下载安装包,或者用系统包管理器安装:sudo apt install docker.io -y)。
另外准备好你要上传的私有文档,比如 PDF、Word、TXT 格式,内容最好是非机密测试文件,方便验证。
部署 Ollama:本地大模型运行环境
Ollama 可以让你在本地运行 Llama、Mistral 等开源大模型,作为 RAG 的推理引擎。
在终端执行以下命令:
docker run -d --name ollama -p 11434:11434 ollama/ollama
等待容器启动后,拉取一个适合中文的轻量模型(比如 qwen2:7b):
docker exec -it ollama ollama pull qwen2:7b
注意:模型下载速度取决于网络,如果超时,可以尝试换用阿里云镜像源,或者选择更小的模型如 qwen2:0.5b 测试。
下载完成后,运行 docker logs ollama 确认没有报错。
安装 AnythingLLM:可视化知识库管理
AnythingLLM 提供 Web 界面,让你上传文档、配置模型、管理知识库。
继续用 Docker 部署:
docker run -d --name anythingllm -p 3001:3001 \
-v $PWD/anythingllm-data:/app/server/storage \
-e OLLAMA_BASE_URL=http://你的服务器IP:11434 \
-e LLM_PROVIDER=ollama \
-e EMBEDDING_PROVIDER=ollama \
mintplexlabs/anythingllm
替换你的服务器IP 为实际 IP,如果在本机运行可以用 host.docker.internal(Windows/Mac)或 172.17.0.1(Linux)。
启动后访问 http://IP:3001,首次进入会要求创建管理员账号,按提示完成。
配置与上传文档:构建你的私有知识库
登录 AnythingLLM 后,先点击左侧的“Workspace”进入工作区。
在 LLM Provider 中选择 Ollama,并指定刚才下载的模型(如 qwen2:7b)。
然后点击 Upload Documents,上传你的私有文档。
支持 PDF、DOCX、TXT 等格式,建议先用一个几页的 PDF 测试。
上传完成后,系统会自动对文档进行向量化处理。
处理完毕后,在聊天框输入问题,就能看到基于文档内容的回答了。
重要:如果上传失败,检查 Docker 卷映射是否成功,以及文件编码是否为 UTF-8。
测试问答与常见问题避坑
在 AnythingLLM 的聊天界面输入一个问题,例如“这份文档主要讲了什么?
”。
正常情况会返回文档中的相关内容。
如果回答不准确,说明模型过小或文档格式复杂,可以尝试换成更大的模型(如 qwen2:14b)。
高频问题避坑:
- 端口冲突:11434 或 3001 被占用时,修改
-p参数为其他端口,例如-p 11435:11434。 - 模型下载慢:建议先用小模型测试流程,确认无误后再下载大模型。
- 聊天无响应:检查 Ollama 容器是否正常运行:
docker ps -a,若 Ollama 容器挂了,重启docker restart ollama。 - 中文乱码:确保文档为 UTF-8 编码,否则 AnythingLLM 解析时可能出错。
现在你已经成功搭建了 RAG 知识库,可以继续添加更多私有文档,让你的智能问答系统逐渐完善。