本地模型 + RAGFlow 构建知识库实操过程

本地模型 + 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 模型配置

点击测试连接,显示成功即可。

2. Embedding 模型配置

RAGFlow 内置 Embedding 模型,默认无需修改。如需本地 Embedding,可对接 Ollama 的 nomic-embed-text。

六、创建知识库 & 上传文档

  1. 首页 → 新建知识库
  2. 分块策略:常规文档选择「常规分块」
  3. 检索方式:选择「混合检索」效果最佳
  4. 点击上传文件,支持 PDF、DOCX、MD、TXT、CSV、Excel、图片 OCR、网页等

上传后系统自动执行:

  • 文档解析
  • 文本分块
  • 向量生成
  • 存入向量库

七、开始本地 RAG 问答

进入对应知识库 → 对话直接提问,例如:

  • 这份文档主要讲了什么内容?
  • XX 功能的配置步骤是什么?
  • 总结第三章的核心要点

RAGFlow 执行流程:

  1. 对问题进行 Embedding
  2. 检索相关文档片段
  3. 送入本地 Ollama 大模型
  4. 返回带引用来源的答案

全程本地运行,数据不出本地机器。

八、常见问题解决

1. Docker 无法连接 Ollama

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
  • 多知识库联合检索
  • 接入在线大模型作为兜底
相关推荐
victory043119 小时前
论文设计和撰写1
人工智能·深度学习·机器学习
沪漂阿龙21 小时前
OpenAI Agents SDK 深度解析(三):执行层——Agent 的“幕后指挥部”
人工智能·深度学习
还是奇怪21 小时前
AI 提示词工程入门:用好的语言与模型高效对话
大数据·人工智能·语言模型·自然语言处理·transformer
数智工坊1 天前
【SAM-DETR论文阅读】:基于语义对齐匹配的DETR极速收敛检测框架
网络·论文阅读·人工智能·深度学习·transformer
童园管理札记1 天前
【续】数字时代:学前教育的新改革
经验分享·深度学习·职场和发展·微信公众平台
西西弗Sisyphus1 天前
Transformer 编码器堆叠的 Encoder 层之间,和多头注意力模块内部各独立单注意力头之间,在 QKV 上处理的区别
transformer
AI医影跨模态组学1 天前
如何将纵向CT影像组学特征与局部晚期胃癌化疗时空异质性及耐药演化建立关联,并进一步解释其与化疗响应、淋巴结转移及生存预后的机制联系
人工智能·深度学习·论文·医学·医学影像·影像组学
硅谷秋水1 天前
ClawVM:有状态工具LLM智体的Harness管理型虚拟内存
人工智能·深度学习·语言模型
春风有信1 天前
【DM】DDPM与DDIM的数学原理
人工智能·深度学习·机器学习
T.i.s1 天前
总变差正则化(TV Loss)的思考
人工智能·pytorch·深度学习