大模型外挂知识库优化——如何利用大模型辅助召回?
一、为什么需要使用大模型辅助召回?
我们可以通过向量召回的方式从文档库里召回和用户问题相关的文档片段,同时输入到LLM中,增强模型回答质量。
常用的方式直接用用户的问题进行文档召回。但是很多时候,用户的问题是十分口语化的,描述的也比较模糊,这样会影响向量召回的质量,进而影响模型回答效果。
策略一: HYDE
- 论文:《Precise Zero-Shot Dense Retrieval without Relevance Labels》
- 论文地址:https://arxiv.org/pdf/2212.10496.pdf
1. 介绍一下 HYDE 思路?
-
用LLM根据用户query生成k个"假答案"。(大模型生成答案采用sample模式,保证生成的k个答案不一样。此时的回答内容很可能是存在知识性错误,因为如果能回答正确,那就不需要召回补充额外知识了对吧。不过不要紧,我们知识想通过大模型去理解用户的问题,生成一些"看起来"还不错的假答案)
-
利用向量化模型,将生成的k的假答案和用户的query变成向量;
-
将k+1个向量取平均:其中dk为第k个生成的答案,q为用户问题