本阶段课程 · 知识库、检索与 RAG
Embedding、向量与语义检索
理解按意思找资料的方法,以及相似度为什么不等于事实可信度。
检索首先是找候选材料
知识库里可能有很多内容,但一个问题通常只需要其中几段。检索的任务就是从可访问资料中找出相关候选,再交给后续回答过程。检索结果不是最终答案,也不是事实已经验证的证明。
最熟悉的方法是关键词搜索:问题里出现一个订单号,就找包含这个订单号的记录。它对精确名称、编号和术语很有用,但对于不同说法表达同一意思的情况,可能漏掉相关内容。
语义检索怎样处理不同问法
用户可能问“临时有事来不了了,报名的钱怎么办”,规则标题却叫“退费与转让”。语义检索尝试根据意思匹配内容,而不是要求双方出现完全相同的词。
一种常见实现会使用嵌入模型,把文本转换成一组数值,叫作embedding或向量。可以把它理解为内容在某个计算空间里的表示:适合语义检索的模型会让某些相关文本具有更接近的表示,系统据此寻找候选。
你不需要计算这些数值,也不需要给每个数字解释一个独立的人类含义。真正需要关注的是:同类问题能否找到相关原文,不相关问题会不会也被硬塞一个结果。
向量数据库保存什么
向量数据库或支持向量搜索的系统,帮助保存这些数值表示并快速查找相近项。实际应用通常还保存原文、来源和其他字段,以便取回可阅读的内容,并过滤版本与权限。
检索后交给语言模型的通常是找到的文字片段及相关信息。不能把这个过程理解成把向量“神奇地还原”为原始文档;应用需要保留向量与原文的对应关系。为资料建立向量,也不等于训练回答问题的语言模型。
| 方法 | 擅长什么 | 典型限制 |
|---|---|---|
| 关键词或精确匹配 | 订单号、产品型号、明确术语 | 不同表达可能匹配不到 |
| 向量检索 | 近义表达与语义相关内容 | 相似不等于适用或正确 |
| 混合检索 | 组合关键词与语义线索 | 仍需合适筛选与评估 |
| 重排 | 对候选进一步比较相关性 | 候选里没有答案时,不能凭空创造证据 |
相似度为什么不是答案可信度
两段话都讨论退款,可能一段是现行政策,另一段已经失效。它们语义相关,却不能同时作为当前依据。“提前24小时可以退款”与“不足24小时不能退款”也高度相关,具体答案仍取决于用户的取消时间。
因此,还要检查对象、版本、日期和条件。一个高相似度数值,只表示按照某种方法比较时比较接近,不能直接解释为“答案有95%的概率正确”。
没找到答案时,怎样定位原因
先在原始文档中人工查找。如果原文有答案而系统没取回,可能是分段、关键词、筛选条件或检索排序的问题;如果原文根本没有答案,就需要补资料或明确告诉用户无法确认。
不要通过要求模型“必须回答”来掩盖检索缺口。下节会把检索与生成接起来,并说明RAG如何让这些来源真正进入回答过程。
检查一下理解
本节参考与继续阅读
下列章节用于核对概念与机制。本站以中文重新组织讲解,例子和练习为独立编写。
- Microsoft · RAG and Vector Databases
对应资料准备、检索与生成链路;向量与原文需保存对应关系,本站不把相似度或RAG本身当成准确性保证。
- OpenAI · 检索与语义搜索
可选练习理解检索是在挑候选证据,而不是已经证明了答案。
理解检索是在挑候选证据,而不是已经证明了答案。
使用本课规则,在普通 AI 对话里做一遍人工可核对的查找。后半段打开知识库开卷实验,观察版本筛选。本站实验按预设规则匹配,不运行真实向量计算。
青禾读书会活动规则|当前版本2026-09 活动时间:周日14:00—16:00。 人数:最多12人。 退费:活动开始前24小时可全额退款;不足24小时不退款,可转让名额。 阅读:不要求读完整本书,带来一个问题也可以参加。 停车:本规则没有提供停车费用信息。
跟着做一遍
下面的结果是本站编写的对照示例。实际工具的措辞可能不同,按每步的关键条件检查即可。
让它只找原文,不先回答
发送规则和问题,限制输出为相关原文。
材料: 青禾读书会活动规则|当前版本2026-09 活动时间:周日14:00—16:00。 人数:最多12人。 退费:活动开始前24小时可全额退款;不足24小时不退款,可转让名额。 阅读:不要求读完整本书,带来一个问题也可以参加。 停车:本规则没有提供停车费用信息。 问题:我临时有事去不了,报名的钱怎么办? 先不要给建议,只复制最相关的完整规则段落。
做完后,展开结果对照
应找出“退费:活动开始前24小时可全额退款;不足24小时不退款,可转让名额”。
为什么这样做问题里没有“退费”两个字,意思仍可能对应到退费规则。理解近义表达,是语义检索想帮助解决的问题。
换问法,看证据是否相同
继续问第二种说法,同时保留规则条件。
问题换成:开场前两小时取消,能拿回报名费吗?仍然先找相关原文,再说明两小时属于哪个条件。
做完后,展开结果对照
同一条退费规则;两小时不足24小时,按给定规则不退款,可以转让。
为什么这样做找到了相关段落后,还要比较具体条件。相似度高不是“可以退”的证明。
在实验里取消版本过滤
打开知识库开卷实验,选退费问题,勾选旧规则并取消“检索前排除失效版本”,点击运行;再开启过滤运行一次。
做完后,展开结果对照
未过滤时会同时显示新旧证据,并说明旧版48小时规则已失效;排除失效版本后只使用当前规则。
为什么这样做检索不只比文字意思,还需要检查日期、适用范围和访问权限。
语义检索与嵌入
语义检索尝试按意思找材料;嵌入是把内容变成可比较的数值表示,常用来实现这种查找。
没做出来?从这里排查
取回一堆含“活动”的无关段落
把问题收窄到费用或时间,检查原文标题和片段是否清楚。
查到的段落来自别的活动
加上活动名称与有效版本条件,不能只按相似语句选证据。
换一个例子验证
给一条规则写三种问法。
- 一种使用原文关键词,一种用口语,一种带具体条件。
- 让 AI 为每种问法指出原文依据。
- 加入一个完全未覆盖的问题,检查是否会硬找无关段落。
完成状态仅保存在当前浏览器,可再次点击取消。