08-RAGFlow私有化套件实战:搭建企业级私有知识库
第 8 篇:RAGFlow 私有化套件实战——基于 RAGFlow 搭建企业级私有知识库
本文为「从零到落地:RAG 检索增强生成实战系列」第 8 篇,完整系列持续更新中。
RAGFlow 官方文档:https://ragflow.io/docs/(英文) | https://ragflow.com.cn/docs/(中文)
GitHub 仓库:https://github.com/infiniflow/ragflow
前言
本篇聚焦 RAGFlow 一体化私有部署实战,从 Docker 部署到深度文档解析、知识库搭建、API 调用,完整走一遍企业级私有 RAG 系统的搭建全流程。
在前面几篇里,你已经用原生 Python、Dify、LangGraph、LlamaIndex 分别跑通了 RAG。这些方案各有侧重,但都有一个共同前提:数据需要经过外部 API 或本地服务中转。
如果你的场景是——企业内网、涉密文档、数据绝对不能出网——那就需要一个一体化私有部署套件:把所有组件(文档解析、向量检索、大模型调用、可视化管理)全部跑在自己的服务器上,一套系统搞定全部流程。
RAGFlow 就是目前最热门的开源方案之一。它内置深度文档解析(PDF 布局分析、表格提取、图片 OCR)、模板化分块、混合检索、Rerank 重排,从 0.25 版本开始还支持 Agent 工作流和 RAPTOR 层次化摘要索引,功能覆盖面已经远超一个”RAG 知识库”的范畴。
本篇学完你将掌握:
- RAGFlow 的完整部署流程(Docker Compose 一键启动)
- 模型接入配置(API 方式 + 本地 Ollama 两种方式)
- 深度文档解析能力(PDF/表格/图片,支持 DeepDoc/MinerU/Docling 三种解析器)
- 知识库搭建、分块策略配置、检索参数调优
- RAPTOR 层次化摘要索引的使用场景和配置方法
- Agent 工作流的基本用法
- API 调用方式(Python 代码示例)
- RAGFlow 与 Dify 的选型对比
一、RAGFlow 是什么
RAGFlow 是一款开源的一体化 RAG 引擎,由 InfiniFlow 团队开发,GitHub 上已有 50k+ Star。和 Dify 这类”低代码 AI 应用平台”不同,RAGFlow 的核心定位是专注 RAG 的全流程套件——从文档解析到检索增强生成,所有环节都内置在一个系统里。
1.1 核心特性
| 特性 | 说明 |
|---|---|
| 深度文档解析 | 内置布局分析模型,支持 PDF 表格提取、图片 OCR,另支持 MinerU、Docling 解析器 |
| 模板化分块 | 提供多种分块模板(通用、论文、法律、代码等),分块结果可视化、可手动修正 |
| 混合检索 + Rerank | 向量检索 + 关键词检索融合,支持 Rerank 重排,检索精度高 |
| RAPTOR 层次化索引 | 自动构建文档层次化摘要树,提升长文档和跨段落问答效果 |
| Agent 工作流 | 可视化 Agent 编排,支持代码执行、浏览器组件、MCP 工具调用 |
| 完全私有化 | Docker 一键部署到内网,数据全部自持,源码可控 |
1.2 系统架构
RAGFlow 的后端由以下组件构成:
1 | 前端 UI(React) |
💡 提示:RAGFlow 默认使用 Elasticsearch 9.x 作为文档引擎,同时存储向量和全文索引。MinIO 用于存储上传的原始文件,MySQL 存储用户和知识库元数据,Redis 用于任务队列和缓存。
1.3 和 Dify 的区别
简单说一下定位差异,后面第七节有详细对比:
- Dify:低代码 AI 应用平台,RAG 只是其中一个功能模块,还支持 Workflow、Agent、多模型管理等
- RAGFlow:专注 RAG 的一体化套件,文档解析深度和检索精度是核心优势,0.25+ 版本也开始支持 Agent 能力
1.4 适用场景与规模评估
一个常见的问题:RAGFlow 能支撑多大规模?这里给你一个具体的参考评估。
场景假设:企业内部知识库,200+ 员工同时访问,文档量 1000+ 份。
结论:完全支持,但服务器配置要到位。
核心瓶颈分析:
| 环节 | 压力评估 | 说明 |
|---|---|---|
| 文档检索 | 低 | Elasticsearch 9.x 设计目标是亿级文档,1000 份文档的向量检索完全轻松,毫秒级响应 |
| 文档解析 | 低 | 解析是异步任务,不占用在线服务资源 |
| Web 服务 | 中 | RAGFlow 后端可以多 worker 部署,200 人在线无压力 |
| LLM 调用 | 高(核心瓶颈) | 每次提问都调 LLM,200 人同时提问是最大压力点 |
💡 提示:200 人“同时在线”≠ 200 人同时提问。实际并发 QPS 通常在 20-50 左右(不是所有人同时按回车)。商用 LLM API(如 DeepSeek)支持 500+ RPM,完全够用;本地模型(如 Ollama + Qwen2.5-7B)单卡只能处理 5-10 个并发,需要多卡才能支撑。
服务器配置建议(按规模):
| 规模 | CPU | 内存 | 磁盘 | LLM 方案建议 |
|---|---|---|---|---|
| 小型(10-50 人,100 文档) | 4 核 | 16 GB | 50 GB | 单卡本地模型或 API |
| 中型(50-200 人,1000 文档) | 8-16 核 | 32-64 GB | 200 GB SSD | 商用 API 或多卡本地模型 |
| 大型(200+ 人,万级文档) | 16-32 核 | 64-128 GB | 500 GB+ SSD | 商用 API + 分布式部署 |
💡 建议:如果你的团队规模在 200 人左右、文档量在 1000 份级别,推荐 16 核 / 64GB 内存 / 200GB SSD 的服务器,LLM 优先用商用 API(DeepSeek 性价比最高)。用本地模型的话至少需要一张 24GB 显卡(如 RTX 4090)才能撑住并发。
二、环境准备与部署
2.1 硬件和软件要求
| 环境项 | 最低要求 | 推荐配置 |
|---|---|---|
| CPU | 4 核 | 8 核+ |
| 内存 | 16 GB | 32 GB+ |
| 磁盘 | 50 GB | 100 GB+(文档多时需要更多空间) |
| Docker | >= 24.0.0 | 最新版 |
| Docker Compose | >= v2.26.1 | 最新版 |
⚠️ 注意:RAGFlow 的 Docker 镜像目前仅支持 x86 架构,ARM64(如 Apple Silicon Mac)需要自行构建镜像,参考官方文档。
2.2 前置配置:vm.max_map_count
Elasticsearch 要求系统的 vm.max_map_count 参数不小于 262144。Linux 系统需要手动配置,Windows/Mac 的 Docker Desktop 通常已默认满足。
1 | # 查看当前值 |
2.3 克隆仓库并配置镜像
1 | # 克隆 RAGFlow 仓库 |
打开 .env 文件,确认 RAGFLOW_IMAGE 变量指向目标版本:
1 | # .env 文件中的关键配置 |
💡 提示:如果国内网络无法从 Docker Hub 拉取镜像,可以修改
.env中的RAGFLOW_IMAGE为国内镜像源:
- 阿里云:
registry.cn-hangzhou.aliyuncs.com/infiniflow/ragflow:v0.25.0- 华为云:
swr.cn-north-4.myhuaweicloud.com/infiniflow/ragflow:v0.25.0
2.4 启动服务
1 | # CPU 模式启动(默认,适合大多数场景) |
💡 提示:从 v0.22.0 开始,RAGFlow 只发布 slim 版本镜像(不含内置 Embedding 模型),镜像大小约 2GB。Embedding 模型需要在系统内外部接入,第三节会讲。
2.5 验证部署成功
1 | # 查看 RAGFlow 容器日志 |
看到以下输出说明启动成功:
1 | ____ ___ ______ ______ __ |
在浏览器输入 http://你的服务器IP(默认端口 80),首次访问会进入注册页面,创建管理员账号即可进入后台。
踩坑记录:部署常见问题
问题一:vm.max_map_count 不足导致 ES 启动失败
现象:Elasticsearch 容器反复重启,日志报 max virtual memory areas vm.max_map_count [65530] is too low
原因:ES 要求系统 vm.max_map_count >= 262144,Linux 默认值通常只有 65530
解决方案:按 2.2 节命令修改后重启容器
问题二:国内拉取镜像超时
现象:docker compose up 卡住或报 Error response from daemon: Get https://registry-1.docker.io/v2/... timeout
原因:Docker Hub 在国内访问不稳定
解决方案:修改 .env 中的 RAGFLOW_IMAGE 为阿里云或华为云镜像源(见 2.3 节)
问题三:端口 80 被占用
现象:启动时报 Bind for 0.0.0.0:80 failed: port is already allocated
原因:本机 80 端口已被其他服务占用(如 Nginx)
解决方案:修改 docker-compose.yml 中的端口映射,将 80:80 改为 <你的端口>:80,如 8080:80
三、模型接入配置
RAGFlow 的镜像不含内置 Embedding 模型,部署完成后第一步是接入 LLM 和 Embedding 模型。
3.1 接入 LLM
方式一:API 接入(OpenAI 兼容接口)
进入后台 → 右上角用户头像 → Model providers → 添加模型提供商。
以 OpenAI 兼容接口为例(也适用于国内各家大模型的 OpenAI 兼容 API):
| 配置项 | 填写说明 |
|---|---|
| 提供商 | OpenAI-API-Compatible(兼容接口) |
| Base URL | 你的 API 地址,如 https://api.deepseek.com/v1 |
| API Key | 你的 API Key |
| 模型名称 | 如 deepseek-chat、gpt-4o 等 |
💡 提示:国内推荐用 DeepSeek、通义千问、智谱 GLM 等有 OpenAI 兼容接口的模型,配置方式完全一样,只需替换 Base URL 和 API Key。
方式二:本地 Ollama(完全离线)
如果你的服务器完全不能访问外网,可以用 Ollama 部署本地模型:
1 | # 安装 Ollama(Linux) |
在 RAGFlow 后台添加模型时:
| 配置项 | 填写说明 |
|---|---|
| 提供商 | Ollama |
| Base URL | http://host.docker.internal:11434(Docker 内访问宿主机) |
| 模型名称 | qwen2.5:7b |
⚠️ 注意:Docker 容器内访问宿主机的 Ollama,地址要用
host.docker.internal(Windows/Mac)或宿主机局域网 IP(Linux),不能写localhost。
3.2 接入 Embedding 模型
Embedding 模型决定了向量检索的精度,建议用外部专业 Embedding 模型而非 LLM 自带的。
推荐配置:
| Embedding 模型 | 接入方式 | 适用场景 |
|---|---|---|
| BGE-large-zh-v1.5 | 本地 Ollama 或 HuggingFace API | 中文场景首选,开源免费 |
| text-embedding-3-small | OpenAI API | 英文为主,精度高 |
| 通义千问 Embedding | 阿里云 API | 国内商用,中文适配好 |
在 Model providers 页面,切换到 Embedding 标签页,按同样方式添加即可。
3.3 设置默认模型
添加完模型后,进入 系统设置 → 设置默认的 LLM 和 Embedding 模型。后续创建知识库和应用时会自动使用默认模型,也可以在具体应用里单独覆盖。
3.4 系统参数调优
RAGFlow 的 service_conf.yaml.template 文件控制后台服务的各项参数,几个关键配置项:
| 参数 | 说明 | 建议值 |
|---|---|---|
| 并发 worker 数 | 后端服务的工作进程数 | 生产环境设为 CPU 核数(如 8) |
| 任务队列并发 | 文档解析的并发任务数 | 根据内存调整,16GB 内存建议 4,32GB 建议 8 |
| LLM 超时时间 | 大模型调用的超时时长 | 默认 120s,长文档生成可适当增大到 300s |
| ES 内存 | Elasticsearch 分配内存 | 建议 8GB+,知识库大时适当增加 |
💡 提示:大多数情况下默认参数已经够用,只有在并发压力较大或文档量很多时才需要调整。修改完参数后需要重启服务生效:
docker compose -f docker-compose.yml up -d
四、知识库搭建(核心)
知识库是 RAGFlow 的核心模块,也是它相比其他方案最有优势的部分——深度文档解析能力。
4.1 创建知识库
进入 知识库 → 新建知识库,填写名称和描述。
创建后进入知识库设置页,最重要的两个配置:
| 配置项 | 说明 | 建议 |
|---|---|---|
| 解析模板 | 决定文档用什么方式分块 | 通用文档选”General”,论文选”Paper”,法律文档选”Laws” |
| Embedding 模型 | 文档向量化的模型 | 用前面配置的默认模型即可 |
4.2 文档上传与深度解析
RAGFlow 支持多种文档格式:PDF、Word、PPT、Excel、Markdown、TXT、图片等。
点击 上传文件 → 选择文档 → 系统自动开始解析。
RAGFlow 的文档解析有三种引擎可选:
| 解析器 | 特点 | 适用场景 |
|---|---|---|
| DeepDoc(默认) | 内置布局分析模型,支持表格提取、图片 OCR | 大多数场景,开箱即用 |
| MinerU | 矿大开源,学术论文解析效果优秀 | 学术论文、复杂排版 PDF |
| Docling | IBM 开源,多语言支持好 | 多语言文档、扫描件 |
💡 提示:对于包含复杂表格和图片的 PDF,DeepDoc 的解析效果通常优于普通 PDF 解析器。解析完成后可以在”Chunk”视图里逐个查看每个切片的识别结果,发现识别不准的地方可以手动修正。
4.3 分块策略配置
分块(Chunking)是 RAG 效果的关键环节。RAGFlow 提供了多种分块模板:
| 分块模板 | 说明 | 适用文档类型 |
|---|---|---|
| General | 通用分块,按段落 + Token 数切分 | 产品文档、FAQ、操作手册 |
| Q&A | 问答对格式,自动识别问题和答案 | FAQ 文档、客服话术库 |
| Paper | 论文专用,按章节结构切分 | 学术论文、技术报告 |
| Laws | 法律文档专用,按条款结构切分 | 法律法规、合同 |
| Code | 代码专用,按函数/类结构切分 | 代码文件、技术文档 |
| Table | 表格专用,按行/列结构化 | Excel、CSV 数据 |
核心参数:
| 参数 | 说明 | 建议值 |
|---|---|---|
| Token 数 | 每个切块的最大 Token 数 | 256-512(中文文档建议 300 左右) |
| 重叠 Token | 相邻切块的重叠 Token 数 | 32-64(防止语义被截断) |
💡 建议:Token 数不要设太大。块太大,检索精度下降(噪声多);块太小,语义不完整。中文文档从 300 Token 开始试,根据效果调整。
4.4 解析结果检查与手动修正
文档解析完成后,点击文档进入 Chunk 视图,可以看到每个切片的完整内容。
RAGFlow 的分块过程完全可视化,支持:
- 查看每个切片的文本内容和对应的原文位置
- 手动编辑切片内容(修正 OCR 错误、补充信息)
- 删除无关切片(广告页、页眉页脚等噪声)
- 手动添加新切片
核心价值:这种”可视化 + 可修正”的分块方式,是 RAGFlow 相比代码框架(LangChain/LlamaIndex)的一大优势——你能直观看到 RAG 检索到的每一段内容是什么,而不是黑盒。
五、应用创建与对话测试
5.1 创建对话应用
进入 Chat → 新建对话助手,填写名称,绑定刚才创建的知识库(可绑定多个)。
5.2 Prompt 模板编写
RAGFlow 提供了系统 Prompt 配置,建议按以下模板编写:
1 | 你是 {公司名称} 的内部知识助手。 |
5.3 检索参数调优
在应用设置里,有几个直接影响检索效果的参数:
| 参数 | 说明 | 建议值 |
|---|---|---|
| Top-K | 每次检索返回的最相关切片数 | 5-8(知识库小可设 5,大库设 8) |
| 相似度阈值 | 低于此分数的切片不返回 | 0.3-0.5(太高会漏召回,太低会引入噪声) |
| 向量检索权重 | 向量检索 vs 关键词检索的权重分配 | 0.7(向量为主)+ 0.3(关键词补充) |
| Rerank 模型 | 对检索结果重排,提升相关性 | 建议开启,用 BGE-reranker 或 Cohere Rerank |
💡 建议:混合检索(向量 + 关键词)是生产环境标配,纯向量检索在专有名词、产品型号等精确匹配场景下表现不如关键词检索,两者互补效果最好。
5.4 对话测试与检索溯源
在对话界面提问,RAGFlow 会在回答下方展示引用来源——点击可以看到具体是哪个文档的哪个切片,原文内容一目了然。
这个溯源能力在企业场景非常重要:用户需要知道答案来自哪里,不能只给一个”AI 说”的结论。
5.5 开启 Rerank 重排
Rerank 是提升检索精度的关键步骤。原理是对初次检索返回的 Top-K 个切片,用专门的 Rerank 模型重新打分排序,把真正最相关的内容排到前面。
在应用设置中开启 Rerank,选择一个 Rerank 模型(需要在 Model providers 里提前添加,如 bge-reranker-v2-m3)。
六、高阶配置
6.1 API 调用
RAGFlow 提供完整的 RESTful API,可以把知识库问答能力集成到企业内部系统。
进入 API 页面 → 创建 API Key,然后用 Python 调用:
1 | import requests |
💡 提示:
<chat_id>是你在 Web UI 创建对话助手后生成的 ID,可以在 API 页面查看。RAGFlow 从 v0.25.1 开始逐步将 API 迁移为 RESTful 规范,升级最新版后可以获得更统一的接口体验,旧版接口仍然兼容。
外部系统对接示例:把 RAGFlow 接入企业微信/钉钉/飞书机器人,只需要在机器人的后端服务里调用 RAGFlow API——员工在群里@机器人提问,机器人调用 RAGFlow 检索知识库并返回答案,整个过程不需要员工登录 RAGFlow 后台。同理也可以接入企业 OA、工单系统、客服系统等任何支持 HTTP 调用的平台。
6.2 多知识库联动检索
一个对话应用可以绑定多个知识库,RAGFlow 会在检索时同时查询所有绑定的知识库,合并结果后送入大模型。
适用场景:企业有多个部门(产品、技术、HR)的文档,每个部门一个知识库,但对话助手需要跨部门检索。
6.3 权限管理与团队协作
RAGFlow 支持多用户和团队管理:
- 管理员:可以管理所有知识库和用户
- 普通成员:只能访问被授权的知识库
- API Key 隔离:每个 API Key 绑定特定应用,权限独立控制
6.4 RAPTOR 层次化摘要索引
RAPTOR(Recursive Abstractive Processing for Tree-Organized Retrieval)是 RAGFlow 从 v0.25.3 开始引入的层次化摘要索引能力。如果你使用的是 v0.25.0,需要升级到 v0.25.3+ 才能使用此功能。
核心思路:对文档构建一棵层次化的摘要树——底层是原始切片,上层是逐层聚合的摘要节点。检索时可以同时命中细粒度切片和粗粒度摘要,解决”跨段落信息分散”的问题。
适用场景:
| 场景 | 说明 |
|---|---|
| 长文档问答 | 单个问题涉及文档多个段落的信息 |
| 跨文档综合 | 需要从多份文档中汇总信息得出结论 |
| 概括性提问 | “这篇报告的主要结论是什么?”等宏观问题 |
开启方式:在知识库设置中开启 RAPTOR 选项,系统会在文档解析完成后自动构建摘要树。
💡 提示:RAPTOR 构建摘要树需要消耗 LLM Token,文档量大时构建时间较长。建议先在小规模知识库上验证效果,再决定是否全量开启。最新版的 Ψ-RAG(AHC 模式)相比早期 GMM 模式,索引构建速度更快、召回率更高。
6.5 Agent 工作流
从 v0.25.0 开始,RAGFlow 支持可视化 Agent 编排,可以把 RAG 能力和工具调用结合起来,构建更复杂的业务流程。
Agent 核心组件:
| 组件 | 说明 |
|---|---|
| Retrieval | 从知识库检索相关内容 |
| Generate | 调用 LLM 生成回答 |
| Code | 执行 Python/JS 代码(需配置沙箱) |
| Browser | 自主浏览网页(最新版新增,v0.25.6+) |
| Iteration | 循环处理数组数据 |
| MCP 工具 | 通过 MCP 协议调用外部工具 |
典型场景:
- 用户提问 → 检索知识库 → 如果知识库没有答案 → 调用 Browser 组件搜索网页 → 综合回答
- 用户上传数据文件 → Code 组件分析数据 → 生成图表 → 返回结论
💡 提示:Agent 能力是 RAGFlow 近期发展的重点方向,如果你只需要基础 RAG 知识库,用 Chat 功能就够了;如果需要复杂业务流程编排,可以深入探索 Agent 模块。
七、RAGFlow vs Dify:怎么选
两者都支持私有化部署,但定位有明显差异:
| 对比维度 | RAGFlow | Dify |
|---|---|---|
| 核心定位 | 专注 RAG 的一体化套件 | 低代码 AI 应用平台 |
| 文档解析 | 深度解析(布局分析、表格、OCR、MinerU/Docling) | 基础解析(文本提取,无布局分析) |
| 分块策略 | 多种模板(通用/论文/法律/代码等),可视化修正 | 基础分块(按 Token 数),配置较简单 |
| 检索能力 | 混合检索 + Rerank + RAPTOR,精度更高 | 向量检索为主,支持 Rerank |
| Agent 能力 | 有(v0.25.0+),功能持续完善 | 有(Workflow + Agent),生态更成熟 |
| 上手难度 | 中等(配置项较多) | 较低(界面更友好) |
| 适用场景 | 企业内网知识库、文档解析要求高的场景 | 快速原型、多模型管理、AI 应用开发 |
| 社区生态 | 专注 RAG 社区,垂直深耕 | 通用 AI 平台社区,生态更广 |
选型建议:
- 选 RAGFlow:你的核心需求是”把企业内部文档变成可问答的知识库”,对文档解析精度要求高,文档类型复杂(PDF/表格/扫描件),数据绝对不能出网
- 选 Dify:你的需求更综合——不只是知识库,还需要多模型切换、Workflow 编排、对外 API 服务,团队非技术人员也要操作
- 两者都用:用 RAGFlow 做深度文档解析和检索,通过 API 把检索结果接入 Dify 做上层应用编排,也是可行的组合方案
八、常见问题踩坑汇总
Q:Docker 容器启动后,浏览器访问显示”网络异常”?
A:RAGFlow 服务还没完全启动完成。用docker logs -f docker-ragflow-cpu-1查看日志,等到出现 RAGFlow Logo 和Running on all addresses再访问。
Q:上传 PDF 后解析状态一直卡在”Parsing”?
A:检查 Elasticsearch 容器是否正常运行(docker ps查看es01容器状态)。ES 内存不足或vm.max_map_count配置不对会导致解析任务卡住。
Q:检索结果不准确,回答和问题不相关?
A:依次排查:①检查 Chunk 视图,确认分块质量(分块是否截断了语义);②调整 Top-K(适当增大)和相似度阈值(适当降低);③开启 Rerank 重排;④确认 Embedding 模型是否适合你的文档语言(中文建议用 BGE 系列)。
Q:Ollama 本地模型接入后,调用时报连接失败?
A:Docker 容器内无法直接访问宿主机的localhost。Windows/Mac 用host.docker.internal:11434,Linux 用宿主机的局域网 IP。同时确认 Ollama 已设置OLLAMA_HOST=0.0.0.0允许外部访问。
Q:知识库文档很多,检索速度变慢?
A:①确认 Elasticsearch 有足够的内存分配(建议 8GB+);②考虑切换文档引擎为 Infinity(在.env中设置DOC_ENGINE=infinity,注意会清空已有数据);③对大规模文档(百万级),考虑分库或引入分布式向量检索方案。
总结与回顾
| 知识点 | 关键要点 |
|---|---|
| RAGFlow 定位 | 专注 RAG 的一体化开源套件,深度文档解析是核心优势 |
| 部署方式 | Docker Compose 一键启动,镜像约 2GB(slim 版本) |
| 模型接入 | LLM 支持 API 和本地 Ollama 两种方式,Embedding 必须外部接入 |
| 文档解析 | DeepDoc(默认)/ MinerU / Docling 三种解析器,支持布局分析和 OCR |
| 分块策略 | 多种模板可选,Token 数建议从 300 开始调,结果可视化可修正 |
| 检索调优 | 混合检索(向量 + 关键词)+ Rerank 是生产环境标配 |
| RAPTOR | 层次化摘要索引,适合长文档和跨段落问答(需升级至 v0.25.3+) |
| Agent 能力 | 可视化编排,支持代码执行、浏览器、MCP 工具调用 |
| 与 Dify 对比 | RAGFlow 专注 RAG 深度,Dify 专注 AI 应用广度,按需选择 |
下篇预告
第 9 篇:RAG 全链路增强技术——五维增强体系,把基础 RAG 优化到生产级 —— 五篇实战跑完,你已经有了一个能跑的 RAG 系统。但“能跑”和“好用”之间还有一段距离。下一篇按五大维度系统讲解 14 种增强策略:查询增强(假设问题法/HyDE/子查询/回溯提示)、索引增强(自动合并/分层索引/混合检索)、检索器增强(句子窗口/元数据过滤)、生成器增强(提示压缩/块顺序调整)、管道增强(自我反思/查询路由),帮你把 RAG 从“能用”优化到“好用”。
本文为「从零到落地:RAG 检索增强生成实战系列」第 8 篇,完整系列持续更新中。