随着 ChatGPT 等公司的推出,大型语言模型(LLM)的胜利在许多领域都难以阻挡。除了文本生成等创造性用途之外,针对您自己的特定领域数据和文档提出问题的能力也引起了行业和公共管理的极大兴趣。精确实现此用例的方法框架是所谓的检索增强生成(RAG,请参阅博客文章“检索增强生成:类固醇法学硕士”)。尽管 RAG 的用途多种多样,但仍存在一些典型问题,下一篇文章将介绍其解决方案。
检索增强生成解决了大型语言模型的一个重要问题。尽管他们接受了广泛的知识库培训,但他们无法对特定领域的知识(例如公司内部数据)做出任何陈述。一个有效的选择是随后使用这些数据来训练法学硕士。然而,这种方法成本高昂并且需要付出大量努力。相反,使用 RAG 框架,可以将额外的领域知识作为上下文与用户的请求一起从外部传递到语言模型。为此,首先将领域知识分解为更小的部分(所谓的块,图 1,II),然后使用所谓的嵌入模型进行矢量化(图 1,III)并存储在矢量数据库中(图 1) ,四)。矢量化的 护理院电子邮件列表 优点在于,当用户请求时,可以更有效地搜索由数千到数百万个摘录组成的内容。如果用户对数据发出请求(图 1、1),数据也会被矢量化(图 1、2),并使用相似性搜索与矢量数据库中的条目进行比较(图 1、3)。排序(排名)后,最相似的条目将与查询一起传递到语言模型(图 1、4a 和 4b),以便最终生成答案(图 1、5)。
图 1:Naive RAG 框架,每一步都可能出现一些问题。
挑战
近几个月来,当谈到 LLM 的可能用途时,RAG 已成为最流行的流行词。它承诺了很多,但很多时候,在实现相应的管道后,用户发现结果不太符合预期。与许多基于人工智能的工具一样,法学硕士属于“易于学习但难以掌握”的类别。法学硕士的答案通常与要求不符,或者不充分对应。
造成这种情况的原因可能多种多样。其中一些如下所示(另请参见图 1)。
A)矢量化后的信息丢失:例如,可以想象,在相似性搜索(即所谓的检索)期间找不到最相关的部分。其中一个原因是矢量化。性能增益,即搜索速度,是通过文本部分的高度压缩来实现的。这些部分通常会转换为 768 或 1536 维的单独向量,这有时会导致相似性搜索期间信息丢失。特别是因为在嵌入时尚不清楚哪些信息与以后的查询相关以及哪些信息可以更容易地压缩。
B) 块太小且上下文太少:当找到的块相关但在预处理过程中被分解为太小的块时,就会出现另一个问题。在这种情况下,法学硕士可能没有足够的信息或上下文来生成完整、相关和正确的答案。