如何构建一个更”好”的知识库 - Digest

一句话总结

“好”的知识库 = RAGAS 三维度(检索相关性 + 生成忠实度 + 答案相关性)全面达标 + 8 步构建流程(Load/Split/Embed/Store + Query/Retrieve/Rerank/Generate)每环节可调 + AutoRAG 等自动化优化解决模块组合爆炸;RAG vs Long Context 不是二选一而是”RAG 粗筛 + Long Context 精读”的混合方案

核心观点 5 条

  1. RAG 的本质是”参数化记忆 + 非参数化记忆”双引擎 —— 不是替代 LLM,而是补 LLM 的非参数记忆空白(2020 Facebook 论文框架至今未变)

  2. “好”的判断必须先有标准 —— RAGAS 框架提供三维度评估,三者必须分别评估才能定位根因(失败往往由检索 + 生成共同造成)

  3. 语义相似 ≠ 对 LLM 有用 —— 传统 IR 指标(Precision/Recall/F1)已不够,需要 ICLERB 端到端评估”检索 → 注入 → 评估 → 反推”

  4. 构建流程标准化为 8 步 —— 离线 4 步(Load/Split/Embed/Store)+ 在线 4 步(Query/Retrieve/Rerank/Generate),每步都有明确可配置参数

  5. RAG vs Long Context 不是二选一 —— 数据量 < 50K tokens + 低更新频率用 Long Context;数据量大 + 更新频繁 + 需要精确召回用 RAG;混合方案 = RAG 粗筛 + Long Context 精读

RAGAS 三维度速查

维度 核心问题 计算要点 reference-free
Context Precision 相关文档是否排在前面 排序质量
Context Recall 应被召回内容是否都召回了 claims 归因 ❌ 需参考答案
Faithfulness 答案是否忠于上下文 LLM 拆 claims → 验证 → 占比
Answer Relevance 答案是否回应了问题 反向生成问题比对相似度

8 步构建流程速查

1
2
离线索引:Load → Split → Embed → Store
在线查询:Query → Retrieve → Rerank → Generate
阶段 步骤 关键参数 / 选型
离线 Load 数据源:odps / 语雀 / 钉钉 / 本地
离线 Split chunk_size 256-1024 tokens;chunk_overlap 10%-20%
离线 Embed Embedding 模型选型(多模型可选)
离线 Store 向量数据库(ANN 索引 + 元数据)
在线 Query 预处理 + 增强(HyDE / Late Chunking / 意图驱动)
在线 Retrieve 稠密 / 稀疏 / 混合
在线 Rerank Cross-Encoder 精排
在线 Generate 上下文 + 用户问题 → LLM → 答案

前沿架构 3 案例

案例 核心思路 适用场景
AutoRAG 自动化 RAG Pipeline 优化 特定领域数据集优化 + 缺乏调优经验
QuIM-RAG 问题倒排索引匹配 (原文未展开)
OpenViking 文件系统范式 (原文摘要提及但正文未展开)

5 个金句

3 个反直觉点

  1. Context Recall 不是完全 reference-free —— 需要参考答案才能算,所以构建完整 RAGAS 评估还是要有人工标注
  2. F1 不是越大越好 —— F1 是 Precision 和 Recall 的调和平均,差异大时偏向较小值
  3. 嵌入 Long Context 不代表消灭 RAG —— Claude 200K、Gemini 1M+ 是扩展了适用边界,但没消灭 RAG 的精确召回优势;混合方案才是务实选择

5 个对 Seetong 团队可借鉴动作

  1. 用 RAGAS 三维度做 Seetong 知识库体检 —— 选 50 条 FAQ 跑三维度看短板
  2. chunk_size 实测校准 —— Seetong_tps 模块 100-200 行/类可能需要更细粒度
  3. 引入混合检索(BM25 + 向量) —— 协议名/错误码(1118/1119/-102)是关键词敏感,纯向量会漏
  4. Faithfulness 评估首选 —— 检测幻觉是 RAG 最有价值的指标
  5. Cross-Encoder 重排序补救”初筛不准” —— 性价比最高的排序优化

关联

备注