参考资料
语义、关键词与混合检索
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.pydemo/eval_set.yamlreports/lesson-05-experiment.json