今天偶然看到LangChain的 MultiQueryRetriever 检索器,很有意思。
通常我们在用自然语言做相似度查询时,有一个常见问题就是直接按照查询的文本去做相似度查找,很可能检索不到很好的结果,因为对查询文本做向量化(Embedding)的时候,可能因为用词的准确性导致检索结果出现差异。
这时候,MultiQueryRetriever 就派上用场了,具体方法是利用大语言模型(LLM)对用户输入的查询文本进行提炼抽象,从不同的角度生成若干个相似的查询文本,然后把所有查询结果的独特并集拿出来,形成一个更大的、可能相关的文档集。
通过这种多角度的查询方式,MultiQueryRetriever 可以有效解决原始查询文本描述不够准确的问题,为我们提供一批更为丰富、更具深度的检索结果。
官方文档:https://t.co/sZWYEDTZ43
油管视频:
https://t.co/0gtpgI1yi4
点击图片查看原图