RAG本地知识库搭建:Ollama + RagFlow实战

想让AI回答关于你自己公司、自己项目的问题,而不是泛泛而谈?那你需要搭一个RAG知识库。这篇记录下用Ollama + RagFlow搭建本地知识库的过程。

什么是RAG?

RAG(Retrieval-Augmented Generation)= 检索增强生成。简单说就是:让AI在回答问题前,先从你提供的文档里检索相关内容,再基于这些内容生成回答。

这样AI的回答就不再是"通用知识",而是基于你的数据

为什么选本地部署?

三个原因:

  1. 数据安全:公司内部文档不出内网
  2. 成本可控:不用按API调用次数付费
  3. 完全可控:不依赖任何第三方服务

工具选择

Ollama:本地运行大模型的工具,一行命令启动。支持Llama、Qwen、Gemma等主流开源模型。

RagFlow:开源RAG引擎,负责文档解析、向量化、检索和生成的完整链路。界面友好,支持多种文档格式。

搭建步骤

1. 安装Ollama

下载安装后,拉一个模型:

ollama pull qwen2.5:7b

选7B参数的模型就够用了,16G内存的电脑可以流畅运行。

2. 部署RagFlow

用Docker一键部署,配置文件里指定Ollama作为推理后端。

3. 导入文档

把你的PDF、Word、Markdown文件上传到RagFlow。它会自动做文档解析、分块、向量化。

4. 测试问答

在RagFlow的对话界面里提问,它会先检索相关文档片段,再生成回答,并标注信息来源。

实际效果

我用公司内部的技术文档(大约200篇Markdown)做了测试:

  • 关于项目架构的问题,回答准确率很高
  • 能正确引用文档来源
  • 响应时间在3-5秒(7B模型)
  • 偶尔会出现"检索到了但理解偏了"的情况

几个优化建议

  1. 文档分块很重要:太大了检索不精准,太小了丢失上下文。建议300-500字一块
  2. Embedding模型选好:中文场景推荐bge系列
  3. 做好文档预处理:表格、代码块需要特殊处理
  4. 设置检索阈值:相似度太低的结果宁可不返回,也别瞎编

适合什么场景?

  • 企业内部知识库问答
  • 项目文档智能检索
  • 客服系统的知识支撑
  • 个人学习笔记管理

不适合需要实时数据的场景(比如查股票价格),那是MCP干的事。

有搭过本地知识库的吗?用的什么方案?

1 个赞

RAG实战教程太需要了

比用云端的API安全多了

企业内部用这个方案很合适

教程写得很详细赞

1 个赞

好麻烦能不能一键搞定