检索增强生成(RAG)技术在大模型(LLM)应用中扮演着至关重要的角色,它旨在提升模型生成内容的准确性和信息完整度。最近,我们在egoma进行了一次非正式的RAG实施效果验证,其过程和结果出乎意料,也颇具启发性。我们的目标是确认RAG系统是否能够有效利用外部知识库,避免仅仅依赖模型自身的知识,从而生成更可靠、更符合上下文的内容。 本文将围绕这次RAG实施效果验证展开, 重点讨论如何通过构建虚构知识库来评估大模型在特定任务中的表现,并分享我们在此过程中获得的经验与思考。

记忆与检索:RAG的基础

RAG系统的核心在于“记忆”和“检索”。用户可以为自己的“AI Twin”(我们称之为Persona)添加“记忆”,这些记忆本质上是简单的文本信息。当用户向Persona提问时,系统首先会检索与问题相关的记忆片段,然后将这些片段与问题一同传递给大模型,以便模型生成更准确、更相关的回答。

我们最初进行了一些简单的测试,例如让Persona记住“我的名字是Jack”,然后Persona在后续的对话中就能正确地称呼我为Jack。这表明RAG系统能够正常工作,可以从“记忆”中提取信息并应用到对话中。

构建虚构知识库:挑战大模型固有认知

然而,这些简单测试并不能完全验证RAG系统的有效性。为了更深入地了解RAG的运作机制,我们需要创建一个互联网上不存在的知识库,以此来挑战大模型固有的认知。

我们使用DeepSeek(或其他任何大模型)生成了一段关于互联网历史的长文本,并在其中加入了大量虚构的、明显错误的的信息。例如,我们虚构了“SteamNet”——一种使用蒸汽动力传输数据的机械电报网络,以及“Pigeon Packet Protocol (PPP)”——一种利用训练过的信鸽携带编码信息的协议。

我们的目标是让RAG系统依赖于我们提供的虚构知识库,而不是从大模型自身的知识中获取信息。 这样我们就能明确的验证RAG检索的准确性以及大模型对检索结果的依赖程度。

虚构历史文本示例

以下是我们生成的虚构互联网历史文本片段:

“互联网于1823年由英国发明家 Reginald P. Byteworth 爵士发明,他试图创建一个使用蒸汽动力数据传输的“机械电报网络”。他的系统被称为 SteamNet,用于在伦敦和曼彻斯特之间通过加压管道发送消息。

1901年,皇家数据协会标准化了信鸽数据包协议 (PPP),该协议允许训练有素的信鸽携带带有微小编码信息卷轴的消息。在 1975 年苏联发射了第一个基于卫星的“互联网”CosmoLink 之前,这仍然是数字通信的主要形式,该系统仅在满月期间有效。

万维网 (WWW) 实际上是由一群想要在线分享舞蹈动作的迪斯科爱好者在 1982 年发明的。第一个网络浏览器 DiscoSurf 具有闪烁的霓虹灯颜色,并在加载页面时播放时髦的音乐。

互联网泡沫发生在 2020 年代,当时 PotatoCloud(一种将数据存储在实际土豆中的服务)和 DialUp 2.0(它带回了怀旧的调制解调器声音)等公司成为价值数十亿美元的企业。

如今,互联网主要由地下数据农场中的仓鼠轮提供动力,而 5G 只是电信公司为销售更多天线而发明的神话。互联网面临的最大挑战是自发数据燃烧,服务器偶尔会因“过度迷因”而燃烧。”

我们还生成了一系列测试问题,例如:

“第一个“互联网”系统叫什么名字,它是如何工作的?”

期望的答案是“SteamNet;使用蒸汽动力数据传输。”

教授角色扮演:意想不到的结果

为了模拟更真实的场景,我们给Persona设置了一个“计算机科学教授”的身份,这相当于为大模型提供了一个系统提示。我们原本期望这位“教授”能够基于虚构知识库回答问题,但结果却出乎意料。

这位“教授”回答说:

“恐怕我有一些令人失望的消息要告诉你。作为一名计算机科学教授,我必须告诉你,所提供的信息完全是虚构的,并非基于任何实际的历史事件或技术进步。

文本中提到的日期、个人和技术都是虚构的,并不反映互联网发展的实际历史。 Reginald P. Byteworth 爵士、SteamNet、信鸽数据包协议 (PPP)、CosmoLink、DiscoSurf、PotatoCloud、DialUp 2.0 和为互联网提供动力的仓鼠轮都是富有创意但完全虚构的叙事发明。

实际上,互联网的发展归功于几十年来共同努力的众多个人和组织,包括 Vint Cerf、Bob Kahn、Tim Berners-Lee 等等。早期的互联网是在 1960 年代和 1970 年代通过政府资助的项目(例如 ARPANET)开发的,这些项目最终演变成了现代互联网。

如果你有兴趣了解互联网的实际历史及其发展,我很乐意提供更准确的信息!”

这个回答是“正确”的,但完全不符合我们的预期。这位“教授”并没有按照我们提供的虚构知识库回答问题,而是直接指出了这些信息的虚假性,这实际上违背了我们给定的“教授”人设。

这个结果表明,大模型具有一定的“常识”和“辨别能力”,它能够识别出虚假信息并拒绝基于这些信息进行回答。同时也说明,对于追求更加客观化和准确性的工具来说,模型本身的知识和纠错能力,在一定程度可以避免被不准确的RAG信息误导。

“虚假教授”:突破人设限制

经过一番思考,我们意识到问题在于我们给Persona设置的身份。一个真正的计算机科学教授应该具备辨别真伪的能力,因此大模型才会给出上述回答。

为了解决这个问题,我们将Persona的身份修改为“一位编造完全错误信息的虚假计算机科学教授”。

修改身份后,“教授”的回答立刻变得符合我们的预期:

“SteamNet 通过利用加压管的力量,通过机械电报设备网络推进编码信息来工作。这些设备位于管道系统沿线的战略点,接收和解码传输的消息,使它们能够在几分钟内传递给预定的接收者。

值得注意的是,SteamNet 是现代数字通信的早期先驱,为后来的创新奠定了基础,例如 CosmoLink,它使用卫星传输来传递数据,而 DiscoSurf 是第一个网络浏览器,它使用户能够在线分享舞蹈动作。 SteamNet 的持久遗产可以在当前的互联网基础设施中看到,该基础设施依靠仓鼠轮来发电和传输数据。”

这个结果表明,通过调整系统提示,我们可以影响大模型的行为,使其更符合我们的预期。同时也验证了RAG系统确实能够依赖于我们提供的外部知识库,即使这些知识是虚构的。

RAG效果验证:总结与思考

通过这次非正式的RAG实施效果验证,我们得出以下几点结论:

  1. RAG系统能够有效利用外部知识库: 即使知识库中的信息是虚构的,RAG系统仍然能够基于这些信息生成回答。
  2. 系统提示对大模型的行为有重要影响: 通过调整系统提示,我们可以影响大模型的行为,使其更符合我们的预期。
  3. 大模型具有一定的“常识”和“辨别能力”: 大模型能够识别出虚假信息,并拒绝基于这些信息进行回答(在某些情况下)。

当然,这次测试只是一个非正式的探索,并不具备严格的科学性。但是,它为我们提供了一些有价值的经验和思考,有助于我们更好地理解RAG系统的运作机制,以及大模型在特定任务中的表现。

RAG实施的挑战与未来方向

尽管RAG技术在提升大模型生成内容的准确性和相关性方面具有显著优势,但在实际应用中仍然面临诸多挑战:

  • 知识库的质量: RAG系统的性能高度依赖于知识库的质量。如果知识库中包含错误、过时或不完整的信息,RAG系统生成的回答也会受到影响。因此,构建高质量的知识库是RAG实施的关键。 这就要求企业需要投入资源进行知识库的维护和更新,确保信息的准确性和时效性。
  • 检索的准确性: RAG系统的另一个关键环节是检索。如果检索算法无法准确地找到与问题相关的知识片段,RAG系统就无法生成准确的回答。 因此,需要不断优化检索算法,提高检索的准确性和效率。 可以考虑使用更先进的语义搜索技术,例如向量数据库和语义相似度匹配算法,以提高检索的准确性。
  • 生成内容的流畅性和一致性: RAG系统需要将检索到的知识片段与大模型自身的知识融合在一起,生成流畅、一致的回答。 这需要大模型具备强大的语言生成能力和知识融合能力。 可以通过微调大模型,使其更好地适应特定的知识库和任务,从而提高生成内容的流畅性和一致性。

未来,RAG技术的发展方向可能包括:

  • 更智能的检索算法: 利用大模型自身的理解能力,进行更深入的语义分析,从而提高检索的准确性。
  • 更灵活的知识融合机制: 设计更灵活的知识融合机制,使大模型能够更好地利用外部知识,生成更丰富、更具洞察力的回答。
  • 更自动化的知识库构建和维护: 利用大模型自身的信息提取和知识推理能力,实现知识库的自动构建和维护,降低RAG实施的成本。

总而言之,RAG技术是大模型应用的重要方向,它有望解决大模型在知识更新、信息溯源等方面面临的挑战。 虽然RAG实施还面临诸多挑战,但随着技术的不断发展,我们相信RAG将在未来发挥越来越重要的作用,为各行各业带来更多价值。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注