RAG 流水线
Quivr / RAGFlow / GraphRAG + 生产环境最佳实践。少走第一版“取得很烂”的弯路。
这个 pack 装了什么
多数团队周末就能跑出一个 RAG demo,然后花六个月在「为什么答案微妙地不对」上挣扎。这个包收齐 八个资产,帮你越过那堵墙:三个生产级引擎、三个检索/索引模式、两个评测工具。
| # | 资产 | 层 | 为什么收 |
|---|---|---|---|
| 1 | Quivr | 全栈 RAG | "第二大脑" 参考实现,MIT 协议 |
| 2 | RAGFlow | 全栈 RAG | 深度文档解析 —— 表格 / 表单比 LangChain 强 |
| 3 | GraphRAG | 检索 | 微软的知识图谱方案,支持多跳问题 |
| 4 | 切片模式 | 索引 | 语义 vs 定长 vs 递归 —— 哪种场景赢 |
| 5 | 混合检索 | 检索 | BM25 + 稠密向量 + 重排 |
| 6 | Cross-encoder 重排 | 检索 | 你能加上的最大单项精度提升 |
| 7 | RAG 评测套件 | 可观测 | 黄金集 + LLM-as-judge 夜间回归 |
| 8 | 引用强制 | 护栏 | 检索分数低于阈值时拒答而非编造 |
为什么要装
光靠向量检索能拿到 demo 70% 的质量。剩下 30%(用户真会注意到的部分)来自非向量层:怎么切片、怎么重排、怎么判断检索失败该让 LLM 拒答而不是幻觉。
我们做过的每次 RAG 审计都会撞到三个失败模式:
- 切片破坏了上下文。单纯按 512 token 切会把表格切两半,标题孤零零落下来。RAGFlow 的版式感知解析器解决这个;纯 LangChain 流水线不行。
- Top-k 检索返回近重复。余弦相似度最爱把同一段的 5 个改写一起捞上来。加一层 cross-encoder 重排(BGE-reranker / Cohere Rerank)能把多数语料的重复 payload 砍 60%+。
- 没有多跳推理。单次向量查找答不了 "对比 X 在 2022 / 2023 / 2024 年的变化"。GraphRAG 在建索引时就构图,让基于遍历的回答成为可能。
一条命令装齐
# 装整个 pack
tokrepo install pack/rag-pipelines
# 或者只装你想先跑的引擎
tokrepo install quivr
tokrepo install ragflow
tokrepo install graphrag
TokRepo CLI 在八个 AI 工具间统一了设置文件位置,引擎装好后直接接进现有的 Claude Code / Cursor / Codex CLI 项目。
常见坑
- 把 RAG 当成「全部 embed」。最便宜的精度提升其实是不索引低信号页面。先审语料;去重、去导航壳、去过期版本。
- 跳过重排步骤。在 top-50 → top-5 之间加 cross-encoder 重排,多数 RAG benchmark 上能把答案正确率提 15-25 个点。"为了省延迟"跳过几乎总是错。
- 没评测套件。跑不出黄金集回归就不知道上次 prompt 改是变好还是变差。先建评测再扩语料。
- 存切片不带父级上下文。永远保留指向源文档和相邻切片的指针;让 LLM 在需要时自己拉更多上下文。
- 没搞清规模就先选向量库。1 亿向量以上 Pinecone 才合理;1000 万以下 Qdrant 或 Chroma 单 VM 更快、更便宜、更好调。
这个 pack 一个不够时
如果瓶颈在入库质量(PDF / 扫描 / 多栏排版),配文档 AI 流水线 pack —— Surya / Docling / MinerU 在切片前清理源文件。如果瓶颈在评测,叠 LLM 评测 & 护栏 pack:DeepEval / Ragas / Promptfoo 直接接这里的评测套件。
存储层:这个 pack 引擎无关 —— 看向量数据库横评 pack 按延迟 / 成本 / 准度选 Chroma / Weaviate / Pinecone / Qdrant / txtai。
8 个资产打包就绪
常见问题
这些 RAG 引擎免费吗?
Quivr / RAGFlow / GraphRAG 都是宽松开源协议(Apache 2.0 / MIT)。自建。你可能加的付费组件只有 embedding API(OpenAI / Cohere / Voyage)和托管向量库 —— 如果你不想自己跑。笔记本规模 demo 零成本;千万文档生产部署主要花在 embedding 账单,不是引擎。
GraphRAG 跟普通 RAG 比怎么样?
普通 RAG 按向量相似度取 top-k 切片塞进 prompt —— 单跳问题(「X 是什么」)很好用。GraphRAG 在建索引时就构实体关系图,能答多跳问题(「X 的角色在这些文档里怎么演变」)。代价是建索引贵 5-10 倍、慢。分析型查询用 GraphRAG,事实查找用普通 RAG。
用 Cursor 或 Codex CLI 也能用吗?
能 —— 这些是服务端引擎,不是编辑器插件。你把 RAGFlow / Quivr 跑成服务,任何能发 HTTP 的 AI 编码工具都能查。TokRepo 装的是 docker-compose 和配置文件丢进项目,同一套配置在 Claude Code / Cursor / Codex CLI / Cline 都能用。检索 API 是一样的。
这个 pack 跟向量数据库横评 pack 啥区别?
向量数据库横评回答「embedding 存哪」—— Chroma / Qdrant / Pinecone / Weaviate 等。RAG 流水线回答「怎么从那个存储里检索 + 重排做出正确答案」。两个 pack 各选一项。多数生产配置底下是 Qdrant 或 pgvector,上面是 RAGFlow 或自定义流水线。
怎么知道我的 RAG 真的在工作?
从真实用户查询里挑 50-200 对问答建黄金集,每晚跑。盯三个数:检索召回(对的切片是否进 top-k)、答案正确率(LLM-as-judge 对比标准答案)、引用忠实度(答案是否引用真检索到的切片)。没这三个数你在瞎飞。Pack 28(LLM 评测 & 护栏)出套件。