本地模型 + RAGFlow 构建知识库实操过程
一、整体架构
- 本地大模型:LLaMA3 / Qwen / ChatGLM / Mistral 等(使用 Ollama 部署最简便)
- RAGFlow:负责文档解析、分块、向量库、检索、RAG 流程
- 向量库:RAGFlow 内置,也可替换为 Milvus / Chroma / ES
- 最终效果:上传 PDF/Word/Excel/ 网页等文件,实现本地私有化问答,数据不上传云端
二、环境准备
1. 安装 Docker & Docker Compose
RAGFlow 官方推荐使用 Docker 部署,操作最简单。
Windows /macOS:安装 Docker DesktopLinux 安装命令:curl -fsSL https://get.docker.com | shsudo systemctl enable dockersudo systemctl start docker
2. 安装 Ollama(用于本地运行大模型)
Ollama 可一键启动本地大模型,无需复杂配置。
Windows:前往 ollama.com 下载安装包macOS:brew install ollamaLinux:curl -fsSL https://ollama.com/install.sh | sh
启动 Ollama 服务:ollama serve
三、拉取本地大模型
以 qwen2.5:7b 为例(中文效果好、速度快):ollama pull qwen2.5:7b
其他可选模型:
- llama3:8b
- glm4:9b
- mistral:7b
测试模型是否可用:ollama run qwen2.5:7b
四、部署 RAGFlow
1. 克隆项目仓库
git clone https://github.com/infiniflow/ragflow.gitcd ragflow
2. 启动服务
docker compose -f docker-compose.yml up -d
启动完成后访问:http://localhost:8080
默认账号密码:
- 账号:ragflow@ragflow.com
- 密码:ragflow
五、RAGFlow 对接本地 Ollama 模型
进入 RAGFlow → 系统设置 → 模型设置
1. LLM 模型配置
- 模型供应商:Ollama
- API 地址:
- Windows/mac:http://host.docker.internal:11434
- Linux:使用本机局域网 IP,如 http://192.168.x.x:11434
- 模型名称:qwen2.5:7b(与 Ollama 中一致)
点击测试连接,显示成功即可。
2. Embedding 模型配置
RAGFlow 内置 Embedding 模型,默认无需修改。如需本地 Embedding,可对接 Ollama 的 nomic-embed-text。
六、创建知识库 & 上传文档
- 首页 → 新建知识库
- 分块策略:常规文档选择「常规分块」
- 检索方式:选择「混合检索」效果最佳
- 点击上传文件,支持 PDF、DOCX、MD、TXT、CSV、Excel、图片 OCR、网页等
上传后系统自动执行:
- 文档解析
- 文本分块
- 向量生成
- 存入向量库
七、开始本地 RAG 问答
进入对应知识库 → 对话直接提问,例如:
- 这份文档主要讲了什么内容?
- XX 功能的配置步骤是什么?
- 总结第三章的核心要点
RAGFlow 执行流程:
- 对问题进行 Embedding
- 检索相关文档片段
- 送入本地 Ollama 大模型
- 返回带引用来源的答案
全程本地运行,数据不出本地机器。
八、常见问题解决
1. Docker 无法连接 Ollama
- Windows/mac:使用 http://host.docker.internal:11434
- Linux:使用局域网 IP,不要用 127.0.0.1
2. 检索不到内容
- 检查文件是否解析成功
- 调整分块大小
- 切换为混合检索
3. 回答质量差、重复
- 更换更强模型:qwen2.5:7b /llama3:8b
- 调低温度参数:0.1--0.3
4. 运行速度慢
- 使用量化模型:如 qwen2.5:7b-q4_K_M
- 关闭不必要的解析插件
- 降低并发数量
九、进阶扩展(可选)
- 替换向量库:Milvus、Chroma、ElasticSearch
- 接入本地 API 模型:vLLM、text-generation-webui
- 多知识库联合检索
- 接入在线大模型作为兜底
