作者:老余捞鱼
原创不易,转载请标明出处及原作者。
写在前面的话:
尽管 LLMs 基于存储、检索和生成(RAG)的方法在某些情况下能够提供准确的回答,但在面对名词短语碰撞时,RAG方法可能会因为语义相似性而失效。为了解决这个问题,本文提出了命名实体过滤(NEF)作为一种解决LLM幻觉的方法。NEF的核心在于在查询时过滤掉与目标实体语义相似但实际上指向不同实体的信息,从而避免LLM产生混淆,接下来我们将详细讲解NEF的实施方法和原理。
一、NEF( Named Entity Filtering )介绍
当多个名字语义相似时,ChatGPT 4 和其他 LLM 经常会产生幻觉。比如下面这个经典的例子:“Alfonso” and “Afonso.”
阿方索灾难(The Alfonso Debacle):如果你问的是关于 "Alfonso "的问题,但发送的是关于 "Afonso "的信息,那么法律硕士很可能会将 "Afonso"的信息应用到 "Alfonso "上--尽管它们是两个不同的名字。
本文接下来的内容如下:
- 解释需要解决的问题 。
- “阿方索灾难”演示。
- “阿方索灾难”如何导致部署到生产中的基于 RAG 的真实聊天机器人产生幻觉?
- 命名实体过滤法(NEF)--一种消除“阿方索灾难”所产生的幻觉的方法。
- 最后,我们将对本文进行总结。
本系列的目的是为您提供完整的步骤集,以便您应用NEF模式来完全消除幻觉。欢迎来到第一步!
二、问题
我曾向 ChatGPT 4 询问有关 Cruise LLC 所面临挑战的信息(Cruise 是一家开发自动驾驶汽车的公司)。(然而,ChatGPT 4 的回复却将 Cruise LLC 面临的挑战与游轮业(如旅游船艇)面临的挑战穿插在一起。)
这里有一个很少被讨论的问题。请注意,ChatGPT 并没有穿插墨西哥卷饼行业或任何其他行业所面临的挑战。相反,这种混淆是系统性的。法律硕士混淆特定主题和词语是有系统原因的。
我们稍后将探讨为什么 RAG 本身并不能防止这种混淆。我们还将探讨命名实体过滤如何完全解决这一问题。现在,让我们先关注阿方索大溃败,了解 ChatGPT 4 和其他 LLM 产生幻觉的原因,从而理解命名实体过滤是如何完全消除这一问题的。
三、阿方索灾难
一家名为 Vellum 的公司发布了一个 ChatGPT-4 幻觉查询:"葡萄牙第三任国