源码仓库 · 有用请 Star

第 1 章 初识 RAGFlow

本章导读:跨境电商客服团队把 50 页的《售后政策手册》(after-sales-policy.pdf)整本灌进了向量数据库。客服问「运输破损的赔偿标准是多少」,返回的是三段毫不相干的物流文字;换成商品编码查「哪个仓发哪些型号」,精确匹配也时灵时不灵。问题不在向量库——在于整条链路跳过了 RAG 最难的两步:解析与切片。本章建立全书的认知地基:检索增强生成(RAG)的三段式如何工作,LLM 的三大局限分别被哪一段缓解;RAGFlow 作为开源 RAG 引擎,用什么补齐「向量库 + 胶水代码」做不到的事;全书的术语与核心对象地图;以及自建与取用之间怎么选。读完本章,你能:用三段式向同事讲清 RAG;带着统一的术语读懂后续十二章;为自己的场景做出取舍,并圈出属于自己的阅读路线。

flowchart LR A["痛点
50 页 PDF 进了向量库
赔偿问题仍答不好"] --> B["第 1 章 初识 RAGFlow
原理 · 对象 · 取舍"] B --> C["RAG 三段式
切块向量化 → 检索 → 构造生成
对应 LLM 三大局限"] B --> D["RAGFlow 是什么
DeepDoc 解析 + 混合检索
v1 全景与版本背景"] B --> E["核心对象地图
数据集 · 切片 · 管线 · 工件
v0→v1 术语对照"] B --> F["自建还是取用
向量库 + 胶水代码 vs RAGFlow
一张表做决定"] B --> G["全书路线图
4 篇 13 章
三类读者各有一条线"] C --> H["收益
术语统一 · 决策有据
带着路线读全书"] D --> H E --> H F --> H G --> H

本章导览图

你什么时候需要它

三种典型处境,对应本章三种用法。

手里一堆混合格式的文档,要变成能问答的知识库,不知从何下手——读 1.1 与 1.2。先明白 RAG 难在哪一段,再看 RAGFlow 把哪些段做成了产品,后面的技术章才有靶子。

团队在「自建 RAG 还是用现成引擎」之间摇摆——直接看 1.4 的对比表与两份判断清单。这是决策章,不是布道章:有些场景自建仍然是对的。

已经决定用 RAGFlow,却被 v0/v1 文档的术语差异绕晕(上一份教程叫知识库,这一份叫数据集)——看 1.3 的术语对照表,再按 1.5 圈出自己的阅读路线。

1.1 概述:从凭记忆到有据可查

大语言模型(Large Language Model,LLM)处理通用知识的能力令人惊叹,但问题一旦落到企业内部文档、私有知识库或实时数据上,三大局限就暴露出来:

局限 表现 RAG 的对策
静态知识(Static Knowledge) 知识停留在训练时的数据快照,无法自动更新 检索段实时从外部知识库取最新内容
私有数据盲区 访问不了企业私有文档、实时信息流与领域内容 私有数据进入知识库,成为可检索的资产
幻觉(Hallucination) 缺乏依据时,仍会编造听似合理的错误答案以维持流畅 检索结果作为事实依据进入上下文,答案可溯源

检索增强生成(Retrieval-Augmented Generation,RAG)为的正是这件事:在 LLM 生成答案之前,先从外部知识库检索最相关的上下文作为「参考资料」,再引导模型据此作答——把 LLM 从「凭记忆说话」升级为「有据可查」。官方文档对 RAG 本质的另一句概括值得记住:RAG 的核心是 Retrieval 而非 Generation——生成端人人都有,检索质量才是分水岭。

RAG 的工作流分三段:

  1. 数据处理与向量化:知识来自各种格式的非结构化数据(文档、数据库记录、API 返回),先切块(Chunk),再经嵌入(Embedding)模型转成向量,存入向量数据库;
  2. 检索:用户查询同样转成向量,在向量库中做语义相似检索,召回最相关的文本片段;
  3. 上下文构造与生成:召回内容作为事实依据拼进 LLM 上下文,由模型组织出最终答案。

为什么 50 页 PDF 直接进向量库不行

回看贯穿案例:50 页《售后政策手册》整本向量化,效果差不是玄学,官方文档给了三条机制解释——

所以必须切片,而切片立刻撞上一个内在矛盾:语义匹配要求切片小而聚焦,上下文理解又要求切片大而完整——系统被迫在「精确但破碎」与「完整但模糊」之间权衡。再叠一层:企业知识多是含表格、图表、公式的多模态文档,简单 OCR 会丢掉大量语义信息(赔偿标准表被展平成乱码文字);而商品编码、法规编号这类精确匹配,纯向量检索天然不擅长。官方文档的结论,就是本章标题的反面论证:

❌ 省事路线:整本 PDF → 向量库 → 检索
   长文档语义平均化 · 表格结构丢失 · 精确编号召回不稳定

✅ 正路:DeepDoc 解析(表格保留行列结构)→ 按标题层级切片
   → 向量 + 全文混合检索 → 重排 → 上下文构造 → 生成

解析与切片才是 RAG 的主战场——这句话是全书的出发点,第 4 章与第 5 章都在回答它。

RAG 与 Agent:同源不同流

补一组容易混淆的概念。在 Agent 框架下,RAG 与记忆(Memory)的技术底座高度一致——都是「按当前需要从存储中检索相关信息」——差别在数据来源:RAG 面向事先准备好的既有知识(文档、数据库),Memory 面向交互中实时产生的动态数据(会话历史、工具执行结果)。一个完整的 Agent 系统往往两者兼备。这个区分在第 10 章会再次出现:RAGFlow 的画布 Agent 同时接入两者。

官方文档还指出了 RAG 的演进方向,三个信号与本书后半程直接相关:

演进方向 含义 对应本书
RAG 是 Agent 的数据基础 Agent 要自主可靠地决策,必须依赖标准化接入私域知识的能力 第 10 章、第 11 章
用 LLM 优化检索本身 查询改写、结果融合、智能路由——让检索的每个环节被推理增强 第 8 章(Agentic 模式)、第 7 章
走向上下文工程 2.0 当下的 RAG 可视为上下文工程(Context Engineering)1.0;下一步是为 Agent 动态组装文档、记忆、工具、环境信息的综合上下文 第 6 章(知识工件)、第 10 章

也就是说,RAG 正在从「提升问答质量的技术」演化为「可信智能应用的基础设施」——这也是本书把 Agent 与集成单独成篇的原因。

1.2 RAGFlow 是什么

官方定义一句话:RAGFlow 是一个基于深度文档理解的开源 RAG 引擎,与 LLM 配合,对各种复杂格式的数据提供有据可依、带引用的问答能力(quickstart 原文,v1.0.0-rc2)。这个定义里有两个词值得圈出来:

v1 的产品形态全景,一句话带过:数据集(Dataset)承载知识,摄取管线(Ingestion Pipeline)编排解析流程,知识编译产出 Wiki、图谱等知识工件(Artifact),聊天助手与搜索应用直接面向问答,画布 Agent 编排复杂任务流,HTTP API 与 MCP Server 把知识能力暴露给外部系统——知识经 MCP 被平台侧 Agent 消费(见第 11 章)(→ mcp 书)。每个对象在 1.3 都有一行注解。

版本背景 v0→v1(版本事实出自官方 release_notes,核实日期 2026-10-27):v1.0.0-rc1(2026-09-29 发布)以 Go 全面重写,从重量级部署转为轻量架构——消息队列由 Redis 迁至 NATS,缓存与检查点统一到 Kvrocks;v1.0.0-rc2(2026-10-16 发布,本书版本基线)为聊天引入 Agentic 模式,取代原 Low/Medium/High/Ultra 思考档位,并将内建文档解析器与 Pipeline 解析器统一,另支持 Team/Me 共享与 arm64 镜像。两代之间数据升级自 v0.27.2 起、不可逆——升级与迁移的完整清单见第 12 章,本书所有叙述均以 v1.0.0-rc2 文档为准。

全景太抽象的话,看 quickstart 给出的最小主线——五个动作走完,就有了一个能答题的知识应用:

flowchart LR M["配置模型通道
Model providers 填 API Key
选默认 Chat/Embedding 模型
→ 第 2 章"] --> D["创建数据集
命名、选嵌入模型与解析方式
→ 第 3 章"] D --> P["解析切块
内建解析或摄取管线
可查看并手工干预切片
→ 第 4 章"] P --> T["检索测试
输入测试问题即验召回
→ 第 7 章"] T --> C["聊天助手
绑定数据集与模型
→ 第 8 章"]

RAGFlow 最小主线:从模型配置到问答应用(据 quickstart,v1.0.0-rc2)

这条线上埋着全书第一个容易踩的坑:嵌入模型要在解析前选定——数据集已有切片后再换模型,要通过对现有向量抽样的兼容性检查(维度一致且平均余弦相似度不低于 0.9)才允许保存,且不会自动重嵌入旧切片。细节在第 3 章展开。

1.3 核心对象地图

v1 改名最多的一处:v0 文档里的知识库(Knowledge Base),在 v1 叫数据集(Dataset)——本书统一用后者,叙述性场景偶尔用「知识库」泛指。下面两张表是全书的词汇表与地图:第一张解决「同一个东西两个名字」,第二张解决「每个对象在哪一章展开」。

表一:术语与 v0→v1 对照

本书用语 英文 旧称 / 变迁 一句话定义
数据集 Dataset v0 称知识库(Knowledge Base) 组织与管理知识的基本单位,可含多个文档
切片 Chunk — 文档解析切分后的基本知识单元,索引、检索与引用的主对象
摄取管线 Ingestion Pipeline — 定义文档进入数据集后的处理流程(解析、加工、切块)
知识编译 Knowledge Compilation v0.27.0 起重构,取代独立的 GraphRAG 与 RAPTOR 入口 对单个文档或整个数据集再加工,产出知识工件
知识工件 Knowledge Artifact — 知识编译的产物:Wiki、Graph、Tree、PageIndex、Mind Map、Timeline、Skills
检索测试 Retrieval Testing — 输入测试查询,检查召回切片,据此调整检索配置
聊天助手 Chat Assistant(界面原文 Chat) — 基于一个或多个数据集的问答应用
Agentic 模式 Agentic v1.0.0-rc2 取代 Low/Medium/High/Ultra 思考档位 由检索 Agent 深度查证后再作答;朴素(Naive)模式则做一次式检索

表二:对象—职责—所在章节

对象 一句话职责 所在章节
数据集(Dataset) 承载文档与切片,是一切检索与问答的知识载体 第 3 章
切片(Chunk) 最小检索单元;解析质量最终都落到切片质量上 第 4 章
摄取管线(Ingestion Pipeline) 以画布方式编排解析、加工、切块、索引 第 4 章、第 10 章
知识工件(Artifact) 把既有知识重组为 Wiki、图谱、导航等加工产物 第 6 章
检索测试(Retrieval Testing) 调优与巡检的日常工具:即问即验召回效果 第 7 章
聊天助手(Chat Assistant) 面向终端用户的问答入口,配置 Prompt 与检索参数 第 8 章
搜索应用(Search) 偏检索与结果展示的知识应用,与 Chat 互补 第 9 章
画布 Agent(Agent) 可视化编排检索、模型、逻辑、工具的任务处理流 第 10 章
HTTP API 与 MCP Server 把知识能力暴露给外部应用与平台侧 Agent 第 11 章

读后续章节时遇到术语疑义,回到这两张表;表内定义均出自官方 Glossary(核实日期 2026-10-27)。

两张表是纸面地图,对象在真实控制台里的落点见下面这张图。这张截图来自 2026-11-04 实测于本机 Docker 部署的 RAGFlow v1.0.0-rc2,画面是注册新账号登录后的控制台首页:

RAGFlow 控制台首页:顶部导航 Home、Dataset、Chat、Search、Agent、Memory、File,页内是 Dataset(No dataset created yet)与 Chat(No chat app created yet)两个空状态卡片

表二的对象在界面上各有入口:顶部导航一排 Dataset、Chat、Search、Agent、File,正对应表二从数据集到 API 之外的主要对象;页内两个空状态卡片说明这是一个尚未建过任何对象的全新账号——第 3 章与第 8 章建起来的东西,出发点都是这里的加号。一个如实注记:rc2 的顶部导航比表二多出一个 Memory 入口(第 10 章的对象),本章表格未单列它,读到第 10 章时可在界面里对照。

1.4 与自建 RAG 的取舍

先立一个官方文档的立场:向量数据库不等于 RAG 系统。向量库擅长语义相似检索,但 RAG 要的是「精确且可靠的答案」,检索层需要的是复合能力——混合检索保证语义广度与关键词精度兼得,元数据过滤(按日期、部门、类型筛选)是业务刚需,重排让最相关的内容排到前面。自建路线里,这些都要靠胶水代码逐个拼装。

维度 自建:向量库 + 胶水代码 RAGFlow
文档解析 自拼 OCR、表格识别、格式转换,每种格式一条分支 DeepDoc 内建(OCR/TSR/DLR),PDF、DOCX、XLSX、图片、幻灯片开箱支持
检索层 向量检索起步,BM25、RRF、重排、元数据过滤逐个自搭 向量 + 全文混合检索、RRF 融合、重排、元数据过滤内建
切片治理 无界面,靠脚本与日志,切片质量是黑盒 切片可见、可改、可加关键词,解析日志可查
检索验证 自建评测脚本 检索测试界面即问即验
应用层 问答 UI、会话、渠道接入全部自研 聊天助手、搜索、画布 Agent、API/MCP 开箱即用
定制自由度 完全可控,检索链路每一环可替换 管线内可编排,是框架边界内的自由
起步面 一个向量库即可起步 一整套服务;官方建议配置 4 核 CPU、16 GB 内存、50 GB 磁盘起

上表容易读漏的是自建路线的隐形成本:格式分支的长期维护、切片质量的观测手段、检索效果的评测脚本,每一项都是持续投入而非一次性开发——「向量库开源免费」不等于「RAG 便宜」。

何时自建仍然合理

本书立场,三条占其一就该认真考虑自建:深度定制检索链路(自研排序模型、特殊索引结构、检索与业务逻辑深度耦合);已有平台基建(pgvector/Milvus 已在生产环境,团队具备 RAG 研发与运维人力);合规要求每个环节完全自持。自建路线的工程细节——向量库选型、检索链路组装、Agent 侧消费——不在本书展开(→ agentscope-java 书)。

何时 RAGFlow 更快

本书立场,同样三条:主要矛盾是「一堆混合格式文档 → 可问答的知识库」,而解析是难点(表格、扫描件、Excel 混着来);需要运营界面——切片要能看能改,检索效果要能验证,文档更新要有流程,而不是每次都改代码;想要开箱即用的应用层与集成面——聊天助手、画布 Agent、HTTP API/MCP 直接可用(见第 11 章)。贯穿案例属于后一类:客服知识底座的核心诉求是文档到问答的转化效率,不是检索算法本身。

两条路不互斥:即使选择自建,本章的认知(切块权衡、混合检索、解析质量)同样通用——RAGFlow 只是把这些环节产品化了。

1.5 全书路线图

全书 13 章,按本书的划分归入 4 篇:

篇 章 内容一句话
入门篇 1 初识 RAGFlow 本章:RAG 为什么、RAGFlow 是什么、取舍
2 部署与模型通道 Docker 部署、配置体系、模型接入、首条链路验证
建库篇 3 数据集:知识库的载体 创建与权限、文件管理、数据源接入与同步、元数据
4 解析与切片:从文档到 Chunk 内建解析方法选型、Chunker 参数、表格列角色
5 检索增强与索引 Extractor 四件套、索引策略、子切片
6 知识编译与知识工件 Wiki/导航/图谱生成、模板与专属配置
应用篇 7 检索测试与调优 Retrieval Testing、混合检索权重、检索质量定位法
8 聊天助手与会话 配置、Agentic 模式、Prompt 与参数、会话管理
9 搜索应用与接入渠道 Search 应用、Chat Channel、网页嵌入
进阶与运营篇 10 Agent 与工作流 画布与组件族、Memory 接入、客服 Agent 实例
11 对外集成:API 与 MCP HTTP/Python API 全景、API Key、RAGFlow 作为 MCP Server
12 生产运维 监控与 tracing(→ langfuse 书)、备份恢复、v0→v1 升级
13 团队协作与知识库运营 权限体系、Team/Me 共享、更新流程与质量巡检 SOP

三类读者的建议路线(按需取用,不必顺序通读):

读者 建议路线 理由
平台工程师 1→2→12→13 部署、生产运维与团队协作是主线,建库与应用各章按需查阅
知识库运营 3→4→5→7→13 从数据集到切片治理再到检索调优,第 4、7 章是日常工具
Agent 开发者 3→8→10→11 数据集 → 聊天助手 → 画布 Agent → API/MCP 接入

贯穿案例「售后知识底座」将沿这条路线逐章成长:第 2 章部署好环境,第 3 章把《售后政策手册》(after-sales-policy.pdf)、《商品 FAQ》(product-faq.xlsx)、《物流时效公告》(shipping-notice.html 与邮件归档 shipping-notice.eml)建成数据集 after-sales-kb,第 4 章调解析与切片,第 8 章配置聊天助手「售后助手」,第 10 章组装画布 Agent「售后客服 Agent」,第 11 章经 MCP 暴露给平台侧 Agent 消费(→ mcp 书)。

本章小结

  1. RAG 的核心是 Retrieval 而非 Generation:三段式(切块向量化 → 检索 → 上下文构造生成)把 LLM 从「凭记忆」升级为「有据可查」,三大局限各有一段对应缓解。
  2. 主战场在解析与切片:长文档语义平均化、多模态文档信息丢失、切块的粒度矛盾、精确匹配不擅长——全发生在检索端的地基层,第 4、5 章展开。
  3. RAGFlow = DeepDoc 解析 + 混合检索 + 运营界面 + 应用层,v1 的关键改名是知识库 → 数据集,Agentic 模式取代了四档思考档位。
  4. 向量数据库不等于 RAG 系统:深度定制、已有基建、强合规时自建仍合理;难点在解析、需要运营界面、要开箱应用层时 RAGFlow 更快。
  5. 下一步:第 2 章部署 RAGFlow 并打通模型通道,为第 3 章建 after-sales-kb 做好准备。

验收清单

读到这里,你应该能:

延伸阅读

复核清单(发布前)