如何构建一个更”好”的知识库?
一句话概括
系统性讲解 RAG 知识库构建的全链路优化技术,涵盖文档切分、检索策略、查询增强、重排序等环节,以及 AutoRAG、QuIM-RAG 等前沿架构。
实践内容
RAGAS 评估框架
RAGAS(Retrieval Augmented Generation Assessment)从三个维度评估 RAG 系统质量:
- Context Precision(检索精确度):检索结果中相关文档的比例
- Context Recall(检索召回率):需要的信息是否都被检索到
- Faithfulness(生成忠实度):生成内容是否忠于检索到的上下文
文档切分策略
推荐起步方案:
- 递归切分(Recursive Splitting)
- chunk_size: 512 tokens
- chunk_overlap: 50 tokens (10% 重叠)
- 保留来源、章节、页码等元数据
检索策略:RRF 融合公式
RRF_score(d) = Σ 1 / (k + rank_i(d))
其中 k = 60(常数),rank_i(d) 是文档 d 在第 i 路召回中的排名
HyDE 查询增强
流程:
1. 用户提出问题
2. LLM 生成一个"假设性文档"(hypothetical answer)
3. 用这个假设性文档做向量检索(而非原始问题)
4. 检索到的结果作为上下文送入 LLM 生成最终答案
Reranker 选型对比
主流 Reranker 模型:
- bge-reranker-v2-m3(BAAI)
- Cohere Rerank API
- cross-encoder/ms-marco-MiniLM-L-12-v2
实践经验:
- Top-K 召回数量 K=50~100 是常见选择
- 截断阈值根据延迟要求调整
- 多路召回 + RRF 融合效果优于单路
查询增强技术
1. Query Rewriting: LLM 改写用户查询,扩展同义词
2. Multi-Query: 将一个问题拆分为多个子查询并行检索
3. EAR (Expand, Rerank, Retrieve):
- Expand: 扩展查询关键词
- Rerank: 初步结果重排序
- Retrieve: 最终检索
摘录
本文深入探讨构建高质量 RAG 知识库的垂直技术原理与工程实践。文章首先界定知识库作为外部记忆系统的角色,并引入 RAGAS 框架从检索相关性、生成忠实度及答案相关性维度建立评估标准。随后详细拆解离线索引与在线查询流程,重点分析文档切分策略如 Late Chunking 和意图驱动切分,对比稀疏、稠密及混合检索范式,并阐述 HyDE 等查询增强技术。
构建一个”好”的知识库,需要在多个环节进行系统性优化:分块粒度要匹配信息单元的自然边界,Embedding 模型要匹配语料语种和领域,检索策略要兼顾语义召回和精确匹配,架构模式要根据查询复杂度选择(线性/条件/分支/循环)。核心原则:从简单开始,先用递归切分 + 10% 重叠建立 baseline,评估驱动,用 RAGAS 的 Context Precision/Recall 评估切分效果。
涉及实体
- RAG — 本文核心技术,检索增强生成的全链路优化
- RAGAS — RAG 系统评估框架,衡量检索和生成质量
- HyDE — 假设性文档嵌入查询增强技术
- Cross-Encoder — Reranker 的核心模型架构
- AutoRAG — 自动化 RAG 优化框架
- QuIM-RAG — 问题倒排索引 RAG 架构
- OpenViking — 文件系统范式的知识库架构
- Late-Chunking — 延迟切分策略
涉及主题
- RAG知识库构建