RAGFlow 学习教程
《RAGFlow 学习手册》
文档核心说明
本文档是基于 RAGFlow 最新稳定版(v0.16+)的标准化学习资料,整合了多轮技术会话的核心内容,去重重构后形成符合学习认知的完整知识体系。
适用人群:RAG 技术学习者、RAGFlow 运维人员、企业架构师、业务系统集成开发者
覆盖模块:基础入门认知、环境部署配置、Web 端核心功能、Python SDK 开发、底层技术原理、企业级项目落地全流程
一、基础入门认知
1.1 RAGFlow 核心定位
RAGFlow 是一款基于深度文档理解的开源 RAG(检索增强生成)引擎,支持各类复杂格式文档的智能解析与问答,可快速搭建企业级知识库与对话助手,核心优势是解决传统 RAG 工具文档解析能力弱、幻觉率高的痛点。
1.2 支持的复杂文档格式
RAGFlow 基于自研 DeepDoc 深度文档理解引擎,原生支持8 大类、23 + 种主流及专业复杂格式的全结构化智能解析,完整覆盖:
| 格式大类 | 核心支持的格式与能力 |
|---|---|
| PDF 全场景 | 原生可复制 PDF、扫描件 / 影印件 PDF、复杂表格 PDF、公式类 PDF、图文混排 PDF、加密 / 超大体积 PDF |
| 办公文档 | Word、Excel、PPT、WPS 系列、ODF 开源办公格式、RTF |
| 图片 / 扫描件 | JPG/PNG/TIFF/HEIC 等主流图片,支持 OCR 识别、表格 / 公式提取、多模态理解 |
| 专业领域文档 | 法律合同、学术论文 / LaTeX、简历、技术源码 / Markdown、电子书、电子邮件 |
| 其他格式 | 网页 / HTML、字幕 / 会议转写文本、压缩包(自动解压解析) |
二、环境部署与初始化
2.1 前置环境要求
| 配置项 | 最低要求 | 推荐生产配置 |
|---|---|---|
| 操作系统 | Linux(Ubuntu 22.04+)/macOS | Ubuntu 22.04 LTS |
| CPU | 8 核 | 16 核 + |
| 内存 | 8GB | 32GB+(大文档 / 多并发场景建议 64GB) |
| 磁盘 | 50GB+ SSD | 200GB+ 高速 SSD |
| 依赖 | Docker 20.10+、Docker Compose v2+ | 最新稳定版 Docker 引擎 |
系统内核参数调整(必须执行)
RAGFlow 依赖 Elasticsearch,需调整内存映射参数,否则服务会启动失败:
1 | # 临时生效(重启后失效) |
2.2 单机一键部署(POC / 测试环境)
步骤 1:克隆官方仓库
1 | git clone https://github.com/infiniflow/ragflow.git |
步骤 2:自定义环境配置
1 | cp .env.example .env |
步骤 3:启动服务
1 | # CPU版本(绝大多数场景适用) |
步骤 4:访问 Web 界面
访问地址:
http://\<你的服务器IP\>(若修改了端口,需加上端口号)默认管理员账号:
admin,默认密码:admin,首次登录强制修改密码。
2.3 生产级集群部署架构
正式项目必须使用高可用集群架构,避免单点故障,核心架构如下:
1 | ┌─────────────────────────────────────────────────────────────────────┐ |
生产环境组件配置参考
| 组件 | 最低生产配置 | 高并发场景推荐配置 |
|---|---|---|
| API Server | 2 核 4G,2 副本 | 4 核 8G,3 + 副本 |
| Worker 节点 | 4 核 8G,2 节点 | 8 核 16G,4 + 节点,GPU 加速 |
| PostgreSQL | 2 核 4G,SSD,主从架构 | 4 核 8G,SSD,一主两从 |
| Elasticsearch/Milvus | 4 核 8G,SSD,3 节点集群 | 8 核 16G,高速 SSD,3 + 节点集群 |
| Redis | 2 核 4G,3 节点主从集群 | 4 核 8G,集群模式 |
| MinIO | 2 核 4G,分布式集群 | 4 核 8G,多节点分布式集群 |
2.4 系统初始化配置
1. API Key 获取
登录 RAGFlow Web 界面
点击左侧菜单栏 「系统设置」→「API 密钥」
点击「生成新的 API 密钥」,复制保存密钥(仅显示一次,丢失需重新生成)
2. 大语言模型(LLM)配置
RAGFlow 本身不内置大模型,需配置第三方 LLM 接口,支持 OpenAI、通义千问、文心一言、DeepSeek、Ollama 本地模型等:
点击左侧菜单栏 「系统设置」→「模型管理」
选择对应的模型厂商,填入 API Key、Endpoint 等信息,点击「测试连接」
测试通过后,点击「保存」,并设置默认聊天模型。
3. 嵌入模型配置
嵌入模型用于文档向量化,直接影响检索精度,一个知识库(数据集)只能使用一个嵌入模型,一旦选定并解析文档后,无法修改:
同路径「模型管理」→「嵌入模型」
选择内置模型,或配置第三方 API 嵌入模型,中文场景优先使用
BAAI/bge\-large\-zh\-v1\.5。
三、Web 端核心功能使用
3.1 知识库(数据集)管理
知识库是文档管理、向量存储的核心单元,用于统一管理文档、索引与配置。
1. 创建知识库
点击顶部导航 「知识库」,点击右上角 「+ 新建」
填写知识库名称,选择语言
核心配置:
嵌入模型:选择提前配置好的嵌入模型(选定后不可修改)
分块方法(模板):根据文档类型选择,核心模板如下:
| 分块模板 | 适用文档类型 | 核心特点 |
|----------|--------------|----------|
| General | 通用文档、常规报告、网文 | 通用智能分块,适配大多数场景 |
| Q&A | 问答对、FAQ、Excel 题库 | 按问答对拆分,精准匹配问题 |
| Laws | 法律合同、法规条款 | 精细切分,保留条款完整性和逻辑 |
| Manual | 产品手册、技术文档、操作指南 | 按章节 / 步骤拆分,保留层级结构 |
| Table | 财务报表、Excel 表格、数据清单 | 强化表格识别与抽取,保留表格语义 |
| Paper | 学术论文、期刊文献 | 识别摘要、章节、参考文献、公式 |
| Resume | 简历文档 | 结构化解析,提取个人信息、经历等字段 |
点击「保存」,完成知识库创建。
2. 知识库权限与管理
支持「私有 / 团队 / 公开」三级权限,可指定用户 / 用户组的访问权限
支持按业务线 / 部门拆分知识库,避免所有文档混在一个库中导致检索混乱
3.2 文档上传与智能解析
1. 上传文档
进入创建好的知识库,点击 「+ 添加文件」,支持:
本地文件上传:支持 PDF、Word、Excel、PPT、图片、扫描件等数十种格式
网页抓取:输入 URL,自动爬取网页内容
批量上传:支持多文件同时上传,单文件最大支持 GB 级
2. 解析配置与执行
上传完成后,可对单个文件设置解析规则:
扫描件 / PDF 图片:开启「OCR 识别」
表格密集型文档:开启「表格抽取」
点击文件后的「播放」按钮,开始单文件解析;或点击「全部解析」,批量处理所有文件
等待解析完成,进度条变绿即为成功。
3.3 分块精细化管理
RAGFlow 核心优势是分块可视化与可干预,可大幅降低问答幻觉,提升准确率:
解析完成后,点击文件名,进入「切片」页面
可查看所有自动拆分的文本块,核心操作:
双击文本块,可手动修改内容、补充关键词、修正识别错误
可拆分 / 合并文本块,调整分块粒度
可删除无效、冗余、错误的文本块
可为关键文本块设置权重,提升检索优先级
修改完成后,点击「保存」,自动更新向量索引。
3.4 检索测试与对话助手
1. 检索测试
文档构建完成后,进入「检索测试」页面,输入测试问题,可查看检索到的相关文本块、相似度得分,验证检索精度。
2. 创建对话助手
知识库就绪后,可创建专属对话助手,实现基于知识库的智能问答:
点击顶部导航 「助手」,点击右上角 「+ 新建」
基础配置:填写助手名称,关联知识库,选择聊天模型
高级配置:
系统提示词:限定助手的回答风格、范围、规则,例如
你是公司制度问答助手,仅基于提供的知识库内容回答,禁止编造信息,答案需标注引用来源模型参数:温度设置为0.1-0.3,降低幻觉,提升答案稳定性
点击「保存」,即可进入聊天界面,测试基于知识库的问答,答案会自动关联原文引用,支持点击溯源。
四、Python SDK 开发与集成
4.1 SDK 安装与初始化
1. 安装 SDK
1 | pip install ragflow-sdk |
2. 初始化客户端
1 | from ragflow_sdk import RAGFlow |
4.2 知识库全生命周期管理
1. 创建知识库
1 | # 完整参数创建 |
2. 查询与更新知识库
1 | # 列出所有数据集 |
4.3 文档与分块管理
1. 上传与解析文档
1 | # 上传文档 |
2. 分块精细化管理
1 | # 获取目标文档 |
4.4 检索与对话能力调用
1. 知识库检索
1 | # 执行检索 |
2. 聊天助手与多轮对话
1 | # 获取助手 |
3. OpenAI 兼容接口
RAGFlow 提供完全兼容 OpenAI 格式的接口,可直接使用 OpenAI SDK 无缝切换:
1 | from openai import OpenAI |
五、底层核心技术原理
5.1 端到端全流程架构
RAGFlow 采用前后端解耦的微服务架构,将 RAG 全流程拆解为独立可扩展的服务模块,通过消息队列解耦重型任务,实现高并发、高可用的生产级部署。
1. 索引构建(文档入库)流程
1 | graph LR |
重排序(Rerank)精排:先通过低成本的向量 + 全文检索快速召回 Top-100 候选,再通过高算力的 Cross-Encoder 重排模型,对用户问题与每个候选分块做深度语义交互打分,精准判断真实相关性
MMR 去冗余:剔除高度重复的内容,保证最终送入 LLM 的上下文既精准又信息全面
5.5 微服务与任务调度引擎
核心组件协同:
API Server:基于 FastAPI 构建的请求入口,负责用户认证、请求接收
Controller:系统的 “大脑”,负责解析 RAG 工作流,将完整流程拆解为独立任务,推入 Redis 任务队列
Worker 节点:任务执行单元,从 Redis 队列中获取任务,执行文档解析、分块、向量化等具体操作,支持横向扩展
Redis:核心消息队列与缓存中间件,实现任务的异步分发、状态管理
DAG 工作流引擎:所有 RAG 流程都被抽象为 DAG 有向无环图,支持可视化拖拽编排,支持条件分支、循环、失败重试等逻辑
六、企业级项目落地全流程
6.1 需求评估与方案设计
1. 业务场景适配性判断
| 高适配场景(核心优势场景) | 低适配 / 不建议场景 |
|---|---|
| 企业内部制度 / 流程 / 手册智能问答 | 强实时动态数据查询 |
| 智能客服 / 售后 FAQ 问答 | 纯逻辑推理 / 复杂数学计算 |
| 法律合同 / 法规条款 / 合规审核 | 强主观判断的决策类场景 |
| 制造业设备维保 / 工艺规范 / 故障排查 | 纯开放闲聊 / 情感陪伴 |
| 金融投研 / 财报解读 / 行业研报分析 | 单一场景、文档量少于 10 份 |
| 教育行业教辅资料 / 知识点 / 题库智能答疑 | 涉密级别过高、无法数字化的文档 |
2. 量化指标定义
避免模糊需求,必须定义可量化的验收指标:
业务指标:员工制度查询效率提升 80%、客服标准化问题自动解决率≥70%
技术指标:文档解析成功率≥98%、检索召回率≥90%、问答准确率≥95%、幻觉率≤2%
非功能需求:合规要求、高可用 SLA≥99.9%、细粒度权限管控
6.2 知识体系构建与数据治理
80% 的 RAG 项目效果问题,都源于数据治理不到位,核心操作:
文档标准化预处理:
格式统一:优先使用可编辑的 PDF/Word 格式,扫描件提前做高清化处理
内容清洗:去除水印、冗余内容,统一术语,过滤过期、作废的文档
合规校验:去除涉密、敏感信息,做数据脱敏
知识库拆分原则:
绝对禁止把所有文档放到一个大知识库中,按业务线 / 部门、文档类型、权限粒度拆分,同一个业务域的知识库使用同一个嵌入模型。知识全生命周期管理:
增量更新:对接企业文档系统,实现文档自动同步更新
版本管理:保留历史版本,自动下线失效版本
定期复盘:每月梳理用户提问日志,补充未覆盖的知识点
6.3 主流场景落地方案
1. 企业内部智能知识助手
落地步骤:梳理制度文档→按部门拆分知识库→配置专属助手→对接企业微信 / OA
效果参考:常规制度问题自动解决率 87%,HR 重复答疑工作量降低 65%
集成示例:企业微信机器人对接,零代码快速落地
2. 智能客服与售后问答系统
落地步骤:梳理产品手册 / FAQ→按产品线拆分知识库→配置客服助手→对接在线客服系统
效果参考:客服问题自动化解决率从 34% 提升至 67%,平均响应时间从 120 秒降至 15 秒
3. 法律合规与合同审查助手
落地步骤:梳理法规 / 合同模板→使用 Laws 分块模板→开启知识图谱→对接合同管理系统
效果参考:合同初审时间从 2 小时缩短至 10 分钟,合规风险检出率提升 80%
4. 制造业设备维保助手
落地步骤:梳理设备手册 / 维修记录→按设备型号拆分知识库→对接 MES 系统
效果参考:设备故障平均处理时间从 4 小时缩短至 40 分钟,停机时间降低 50%
6.4 上线前测试与优化
1. 多维度测试体系
功能测试:验证全流程功能无 bug
效果测试:构建标准化测试集,量化评估召回率、准确率、幻觉率
性能测试:模拟并发,验证响应时延、稳定性
安全测试:验证权限、渗透、合规性
2. 效果优化方法论
检索优化:使用中文优化的嵌入模型,开启 Rerank 重排序,调整检索参数
幻觉抑制:优化 Prompt 约束,降低模型温度,开启引用溯源
解析优化:核心文档人工校验分块,修正识别错误
6.5 生产运维与避坑指南
1. 全链路监控与备份
搭建 Prometheus+Grafana 监控面板,监控系统、业务、效果指标
定时备份核心数据,异地存储,建立高可用容灾机制
2. 企业落地避坑指南
坑 1:盲目追求大模型,忽略数据治理:80% 的精力放在数据治理上,数据是根基,模型只是放大器
坑 2:一个大库存所有文档,检索混乱:按业务线拆分知识库,避免噪声干扰
坑 3:一次上传文档后就不管了,知识过时:建立增量更新机制,定期清理过期内容
坑 4:POC 单机部署,直接上线生产:生产环境必须使用集群部署,保证高可用
坑 5:敏感行业使用公网 API,合规风险:私有化部署,对接本地模型,数据不出内网
坑 6:忽略权限管控,数据泄露:设置细粒度权限,操作全程留痕
坑 7:为了 RAG 而 RAG,脱离业务目标:以业务目标为核心,先落地 MVP 验证价值
核心知识点速览
RAGFlow 是基于深度文档理解的开源 RAG 引擎,核心优势是复杂文档解析能力与低幻觉率
一个知识库只能使用一个嵌入模型,选定后无法修改,需提前规划
中文场景优先使用
BAAI/bge\-large\-zh\-v1\.5嵌入模型,业务场景将 LLM 温度设置为 0.1-0.380% 的 RAG 项目效果问题源于数据治理,文档标准化、分块优化是核心
禁止将所有文档放到一个知识库,按业务线 / 部门拆分,避免检索混乱
检索采用 “多路召回 - 融合排序 - 精排去重” 的三级架构,开启 Rerank 可大幅提升精准度
敏感行业必须私有化部署,对接本地模型,保证数据全链路不出内网
建立知识全生命周期管理,实现文档自动增量更新,避免知识过时
生产环境必须使用集群部署,建立监控、备份、容灾机制,保证高可用
落地要以业务目标为核心,先落地 MVP 验证价值,再逐步扩展功能