你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

检索增强生成和索引

重要

本文介绍的某些功能可能仅在预览版中提供。 此预览版未提供服务级别协议,不建议将其用于生产工作负载。 某些功能可能不受支持或者受限。 有关详细信息,请参阅 Microsoft Azure 预览版补充使用条款

本文讨论了生成式 AI 中检索增强生成 (RAG) 和索引的重要性和需求。

什么是 RAG?

先介绍一些基础知识。 ChatGPT 之类的大型语言模型 (LLM) 是根据训练时提供的公共 Internet 数据进行训练的。 它们可以回答与它们接受训练时所使用的数据相关的问题。 这些公共数据可能不足以满足你的所有需求。 你可能希望它们根据你的专用数据回答问题。 或者,公共数据可能已经过时了。 这个问题的解决方案是检索增强生成 (RAG),这是 AI 中使用的一种模式,该模式通过 LLM 用你自己的数据生成答案。

RAG 的工作原理是什么?

RAG 是一种模式,它将你的数据与 LLM 配合使用,以生成特定于你的数据的答案。 当用户提出问题时,系统会根据用户输入来搜索数据存储。 然后将用户问题与匹配结果结合起来,并使用提示(对 AI 或机器学习模型的明确指令)将其发送到 LLM,以生成所需的答案。 这可以按如下所示进行说明。

RAG 模式的屏幕截图。

什么是索引?为什么我需要它?

RAG 使用你的数据来生成用户问题的答案。 为了使 RAG 正常工作,我们需要找到一种方法来搜索数据并将其以简单且经济高效的方式发送给 LLM。 这是通过使用索引实现的。 索引是一种数据存储,可用于高效搜索数据。 这在 RAG 中非常有用。 可以通过创建矢量(使用嵌入模型将文本/数据转换为数字序列)来针对 LLM 优化索引。 一个好的索引通常具有高效的搜索功能,例如关键字搜索、语义搜索、矢量搜索或这些搜索的组合。 此优化的 RAG 模式可以按如下所示方式进行说明。

包含索引的 RAG 模式的屏幕截图。

Azure AI 提供用于 RAG 模式的索引资产。 索引资产包含重要信息,例如索引存储在哪里、如何访问索引、搜索索引的模式是什么、索引是否有矢量、用于矢量的嵌入模型是什么,等等。Azure AI 索引使用 Azure AI 搜索作为主要的和推荐的索引存储。 Azure AI 搜索是一种 Azure 资源,它支持对搜索索引中存储的矢量和文本数据进行信息检索。

后续步骤