本文介绍了检索增强生成如何让 LLM 在无需训练的情况下将数据源视为知识。
LLM 通过培训拥有庞大的知识库。 对于大多数方案,你可以选择一个专为你的要求设计的 LLM,但这些 LLM 仍然需要额外的训练来了解你的特定数据。 你可以使用检索增强生成将数据提供给 LLM,而无需事先对其进行训练。
RAG 的工作原理
若要执行检索增强生成,请为数据创建嵌入内容,以及有关数据的常见问题。 你可以动态执行此操作,也可以使用矢量数据库解决方案创建和存储嵌入内容。
当用户提出问题时,LLM 会使用嵌入来比较用户的问题与数据,并查找最相关的上下文。 然后,此上下文和用户的问题在提示中转到 LLM,LLM 会根据你的数据提供响应。
基本 RAG 过程
若要执行 RAG,必须处理要用于检索的每个数据源。 基本流程如下所示:
- 将大型数据分块成可管理的部分。
- 将区块转换为可搜索格式。
- 将转换后的数据存储在允许高效访问的位置。 此外,当 LLM 提供响应时,存储引文或引用的相关元数据也很重要。
- 在提示中将转换后的数据馈送给 LLM。
- 源数据:这是数据所在的位置。 它可以是计算机上的文件/文件夹、云存储中的文件、Azure 机器学习数据资产、Git 存储库或 SQL 数据库。
- 数据分块:源中的数据需要转换为纯文本。 例如,Word 文档或 PDF 需要破解并转换为文本。 然后,文本被分块成较小的部分。
- 将文本转换为矢量:这些是嵌入内容。 矢量是转换为数字序列的概念的数值表示形式,通过它,计算机可以轻松了解这些概念之间的关系。
- 源数据和嵌入之间的链接:此信息作为元数据存储在所创建的区块上,然后用于帮助 LLM 在生成响应时生成引文。