AI 产品如何设计 RAG 召回策略

0 评论 87 浏览 0 收藏 5 分钟

知识库文档已切片入库,AI 却仍答非所问或直接 “失忆”?问题核心不在模型,而在 RAG 的 “召回” 环节!向量检索并非万能,想要让 AI 精准响应,关键要打好 “混合检索 + 元数据过滤 + 重排序” 组合拳,啃下这块硬骨头,才能让知识真正为 AI 所用。

在做知识库的时候,咱们往往会遇到这么个糟心现象:

文档明明已经切好片、存进库里了,看着也没啥毛病,但用户一问具体的业务问题,AI 就像失忆了一样,要么答非所问,要么干脆直接弹兜底话术:“对不起,我不知道”。

这时候很多人的第一反应就是:“是不是这模型太笨了?要不咱们换个更强的模型试试?”

其实吧,这事儿的核心症结还真不在模型,而是在 RAG(检索增强生成) 的架构里。

咱们得明白一个道理:如果没有召回合适的知识,大模型就是“巧妇难为无米之炊”。它再聪明,你没把那页书翻开递给它,它也编不出来。所以,要想做好 AI 产品,最关键的还是要把「召回」这块硬骨头啃下来。

具体怎么落地呢?我总结了三个最需要注意的方面:

第一,是不迷信向量检索。

首先咱们得承认,向量检索确实是个好东西。它能理解语义,把用户的问题和知识切片都变成向量,通过计算相似度来召回,挺智能的。

但是!向量检索绝对不是万能的。

举个例子,如果用户问的是一个非常精确的词,比如某个特定的错误码“Error 520”,或者是某个专有名词。这时候用向量去搜,模型可能会因为语义泛化,给你找来一堆“系统错误”、“网络故障”相关的切片,但就是没有那个“520”。

所以在召回策略上,咱们得打组合拳。不仅要用向量检索查语义,还要加上关键词检索。混合着来,召回的内容才能比较全面,不漏东西。

第二,是做好元数据过滤。

咱们做企业级知识库,往往内容非常多,成千上万个文档堆在那儿。

如果每一次提问,都去整个库里大海捞针,你会发现很容易召回一堆似是而非的知识切片。比如用户问“怎么请假”,结果召回了“外包人员请假制度”,但用户其实是正式员工,这就尴尬了。

遇到这种情况,最有效的办法就是给知识库的内容打上标签,也就是咱们常说的元数据(Metadata)。

比如,在入库的时候增加一个“适用场景”或者“适用人群”的标签。那么只有当用户的问题跟这个场景匹配的时候,我们才去解锁、去检索这个场景下的切片。

这叫基于标签的元数据过滤。先圈定范围,再进行搜索,不仅速度快,准确率也能蹭蹭往上涨。

第三,是千万别忘了重排序。

这是很多新手容易忽略的一步。

你通过向量也好、关键词也好,哪怕加了过滤,可能还是会召回几十条大概率相关的内容。但大模型的窗口和注意力是有限的,你不能一股脑全扔给它。

这就需要引入一个重排序(Rerank) 的机制。

简单说,就是把刚才粗略召回来的那些切片,再用一个更精细的模型给它们排个座次。把最最相关的那几条排到最前面去。

本文由人人都是产品经理作者【AI文如刀】,微信公众号:【AI文如刀】,原创/授权 发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于 CC0 协议。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 目前还没评论,等你发挥!