深入探索RAG:当人工智能变成终极搜索助手时

探索检索增强生成(RAG)及其在大规模语言模型(LLMs)领域中的应用案例。

ChatGPT中文站
[Image by Author and DALL-E]

介绍

根据HTML结构,将以下英文文本翻译成简体中文: 随着OpenAI和他们具有开创性的产品ChatGPT的激烈进入,人工智能的世界已经冲击着每个人的生活。然而,对于新用户或偶尔使用的用户来说,许多重要的术语和实践是看不见的。检索增强生成(Retrieval-Augmented Generation, RAG)就是这样一个过程,它为ChatGPT这样的大型语言模型提供了额外的高度相关数据,在模型正常受其训练数据限制的情况下,这些数据对其很有帮助。从根本上说,RAG将在有限情况下可能有用的系统变得更具普适性,可应用于许多领域。

在本文中,我们将探讨:

  • 什么是RAG?
  • 为什么RAG很重要?
  • 常见的 RAG 使用场景
  • 如何测试RAG方法以及为什么您应该探索它

让我们开始!

什么是RAG?

简单来说,RAG将像GPT-4这样的LLM(大型语言模型)与外部数据库或API集成在一起,因此能够实时检索最新信息,提供更准确的回答。可以将RAG简单地看作是图书管理员和熟练作家的结合。API或数据库具有丰富的知识库,可以从中获取信息,而ChatGPT可以解释它经过训练撰写的众多主题。如果将它们结合起来,熟练的作家(ChatGPT)现在可以解释图书管理员(数据库/API)提供的所有额外信息。撇开类比不谈,RAG以可验证的事实扩大了LLM的知识库,并帮助其与现实事实联系起来。RAG的检索功能可以从网站和文档中提取与用户提示相关的“上下文”信息。根据检索方法/系统的复杂程度,有限的上下文随后传递给LLM(ChatGPT),它将这些信息添加到其“上下文窗口”中(类似于模型的短期记忆),并通过其内置知识以及检索到的上下文回应用户提示。检索功能可以访问网站/浏览、数据库、单个文档或任何其他外部信息来源。

让我们看最后一个例子,以巩固RAG的基础知识,然后再继续。图书管理员被要求找关于一个主题的书籍,但是他们只能限定给作者一到两本书。因此,图书管理员的技能被考验,因为他们需要确定什么样的书(语境)能提供作家所需的答案。

为什么RAG很重要?

检索增强生成是释放语言模型的全部潜力的关键工具。目前,所有热门的语言模型都是在一个庞大但过时的信息集上进行训练的。例如,OpenAI的GPT-4模型是在2021年9月的数据上进行训练的。因此,RAG模型是必要的,以填补当前存在的两年知识和数据的差距。

RAG模型在回答的正确性和准确性方面也很有帮助。在为用户查询生成回应时,模型将使用检索元素寻找答案,并利用这些信息生成回应。此外,信息的来源可以与用户共享。这一因素将使用户能够在提供答案时发现潜在的偏见或不准确性。

在本文的早些地方,我提到了LLMs的“上下文限制”。简而言之,“上下文”是指模型在生成回复时可以访问的文本或信息的数量。上下文的数量以标记(tokens)计量。标记不具有固定的价值,可以包括从单个字符到整个单词的任何内容。(是的,这实际上很奇怪,您可以在OpenAI的视觉标记器中了解更多关于标记的信息)

ChatGPT中文站
[Image by Author]

快速的打断一下,我写这篇文章是作为我在Keymate.AI担任Dev Rel职位的一部分,我希望也在这里分享。如果您对此感兴趣,我强烈推荐您查看他们在LinkedIn上有关生成式人工智能和ChatGPT主题的更多文章!

ChatGPT中文站

常见的RAG使用情况

RAG已经在ChatGPT生态系统中以各种方式被广泛应用。

已经发布了各种插件,旨在提供强大、快速和准确的浏览功能。OpenAI也于去年9月重新发布了一个浏览功能的Beta版本,将GPT-4与微软的Bing搜索相连接。让ChatGPT能够连接到互联网是解锁GPT-4模型全部能力的重要步骤。正如之前提到的,LLMs训练所使用的数据通常会过时。这就是这些浏览或搜索功能的亮点所在。现在用户可以获取任何公开可用信息的最新信息。习惯使用Bing搜索引擎的用户可能更喜欢使用OpenAI提供的Browsing with Bing。同样,经常使用Google的用户可能更喜欢使用KeyMate.AI Search,该搜索引擎利用了官方的Google搜索API。

除了搜索外,插件还可以以更简单的方式增强LLMs的生成。例如,我的Weather Wizard插件让ChatGPT能够检查特定位置的天气。默认情况下,这个模型不能连接到互联网,所以它只能根据训练时的数据和信息猜测天气。有了Weather Wizard插件,我可以分享温度信息,并让模型意识到新的数据。当ChatGPT在回答用户的查询时,它可以参考这些数据来做出决策。插件是ChatGPT中进行检索增强的核心方式之一。开发人员可以利用这种方法将LLMs连接到各种类型的数据库中。

另一个流行的 RAG 应用案例是将文档转化为可供 GPT-4 或 GPT-3.5-加速版使用,以帮助回答用户的问题。将其视为 RAG 101 应用案例,为此,已经创建了许多插件。当用户向 LLM 提供 PDF 或其他类型的文档时,它们使模型能够提取和阅读文档中包含的文本部分,以生成知情和上下文特定的回复。这个应用案例允许用户通过 ChatGPT 作为中介与文档互动,并提取必要的信息。

RAG性能测试的怎样和为什么

与AI生成的内容/回复的所有方面一样,我们能够测试RAG系统的性能是至关重要的。测试系统可以确保其能够正确地找到、情境化和表达用户查询的回答。简而言之,开发人员进行测试,这些测试由复杂的查询组成,旨在代表用户的问题。然后,评估模型在收集相关信息并构建清晰回答方面的准确性。常见的评估指标包括速度、准确性和回答的相关性。这些测试允许开发人员和用户都能够获得一种可靠的评估RAG模型的方法。RAG在AI生态系统中仍然是一个新概念。因此,仍在开发新的改进方法来衡量性能。目前还没有单一的行业标准评估程序正在被采用,但越来越多的学术论文正在探讨这个主题。

结论

尽管“RAG”(检索增强生成)这个术语相对较新,但它对ChatGPT和LLMs产生的影响巨大。目前,这些模型的最薄弱环节正在使用这种方法进行改进。现在,与过时的信息或虚构的答案不同,对用户提示的回应可以是当前和准确的。随着RAG在受欢迎程度上持续增长,确保其性能将成为开发者的主要目标。就个人而言,我期待着LLMs的这一下一个发展阶段会带领我们去哪里!

2023-10-20 17:18:20 AI中文站翻译自原文