Press "Enter" to skip to content

利用信息检索增强LLMs:一个简单的演示

集成问答LLM与检索组件的演示

作者使用稳定扩散生成的图像

大型语言模型(LLM)可以存储大量的事实数据,但其能力受到参数数量的限制。此外,频繁更新LLM的成本很高,而旧的训练数据可能使LLM产生过时的响应。

为了解决上述问题,我们可以使用外部工具来增强LLM的功能。在本文中,我将分享如何将LLM与检索组件集成以提高性能。

检索增强(RA)

检索组件可以为LLM提供更新和精确的知识。给定输入x,我们希望预测输出p(y|x)。从外部数据源R中,我们检索与x相关的上下文列表z=(z_1, z_2,..,z_n)。我们可以将xz合并在一起,并充分利用z的丰富信息来预测p(y|x,z)。此外,保持R的更新也要便宜得多。

检索增强流程(作者提供的图像)

使用维基百科数据+ChatGPT的问答演示

在这个演示中,对于给定的问题,我们执行以下步骤:

  • 检索与问题相关的维基百科文档。
  • 将问题和维基百科文档提供给ChatGPT。

我们想比较并查看额外的上下文如何影响ChatGPT的响应。

数据集

对于维基百科数据集,我们可以从这里提取。我使用“20220301.simple”子集,其中包含超过200,000个文档。由于上下文长度限制,我只使用标题和摘要部分。对于每个文档,我还添加了一个用于后续检索的文档ID。因此,数据示例如下所示。

{"title": "四月", "doc": "四月是公历和格里高利历年份中的第四个月,介于三月和五月之间。它是四个有30天的月份之一。", "id": 0}{"title": "八月", "doc": "八月(Aug.)是公历年份的第八个月,介于七月和...
Leave a Reply

Your email address will not be published. Required fields are marked *