沈毅全栈与 AI

巴黎 • 新加坡 • 上海

RAG Formation · 参考资料

语义、关键词与混合检索

在本网站学习和测试 RAG 质量的独立速查表。

$ reference --status
▸ 课程 RAG Formation
▸ 模式 独立参考资料
▸ 状态 已完成
● 学习 → 测试 → 验证

参考资料

语义、关键词与混合检索

RAG Formation 的课程内容已完成;这份资料可用于自主学习和练习。

一句话规则

在改动检索架构之前,先测量到底是哪种信号补上了预期来源。

术语表

术语含义
向量搜索(Vector search)使用嵌入相似度查找语义和释义。跨语言结果取决于嵌入模型。
全文搜索(Full-text search)按字面匹配标识符、名称、缩略词和数字。
摘要检索(Summary retrieval)一个独立索引,为每份完整文档存一个向量化摘要,而不是按片段存——用于回答“这份文档讲的是什么”,当单个片段太窄、装不下整份文档主题时使用。
图谱检索(Graph retrieval)LightRAG 的实体/关系图谱,索引和查询都独立于片段检索——唯一能把分散在多个片段或文档中的事实连接起来的信号。
累积并集(Cumulative union)在第 5 课中,只要预期来源的元数据出现在四路信号中的任意一路,就算找到了该来源。
混合检索(Hybrid retrieval)在这套系统里:四路信号并行运行,各自格式化后的结果被拼接在一起——不做融合,也不做重排序。真正的融合只发生在 LightRAG 内部。

如何阅读此表

使用这些证据不要声称
向量结果retrieval.indexes.vector.all语义搜索已经生成了正确答案。
全文结果retrieval.indexes.fulltext.all全文排序对每个查询都最优。
摘要结果retrieval.indexes.summary.all摘要层面命中,意味着片段层面的答案也一定被找到了。
图谱结果retrieval.indexes.graph.all这是一次精确命中——这一栏本身是近似值(见下方提示)。
累积并集retrieval.cumulative["vector+fulltext+summary+graph"].all超出“在四路信号中的某一路里找到了”之外的任何融合或排序。
解读哪个预期来源被补上、重复,或仍然缺失。基于一行结果就作出通用的架构决策。

始终根据来源元数据匹配预期文档引用,不要根据片段中的任意文本匹配。否则,交叉引用可能造成虚假命中。

图谱这一栏本身就是近似值:LightRAG 返回的是一整段扁平的上下文文字,不是文档列表,所以命中也可能来自另一份文档里的交叉引用,而不是目标文档本身。

决策提示

问题类型首个有用假设下一项实验
精确文档编号全文搜索可能找回向量搜索遗漏的内容。提取编号,按字面搜索,然后合并并去重。
跨语言概念当嵌入模型支持多语言时,向量搜索可能有所帮助。比较跨语言问题对应的行,并验证模型是否支持这一假设。
双文档问题(多跳)即使答案质量很低,并集召回率也可能很高。先看图谱这一栏——它是专门用来连接跨文档两个事实的信号——再检查上下文组装和生成环节。

本地入口

  • demo/eval.py
  • demo/eval_set.yaml
  • reports/lesson-05-experiment.json

继续学习: 打开对应的独立课程 · 课程路线图