你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
检索增强生成和索引
本文讨论了生成式 AI 中检索增强生成 (RAG) 和索引的重要性和需求。
什么是 RAG?
先介绍一些基础知识。 ChatGPT 之类的大型语言模型 (LLM) 是根据训练时提供的公共 Internet 数据进行训练的。 它们可以回答与它们接受训练时所使用的数据相关的问题。 这些公共数据可能不足以满足你的所有需求。 你可能希望它们根据你的专用数据回答问题。 或者,公共数据可能已经过时了。 这个问题的解决方案是检索增强生成 (RAG),这是 AI 中使用的一种模式,该模式通过 LLM 用你自己的数据生成答案。
RAG 的工作原理是什么?
RAG 是一种模式,它将你的数据与 LLM 配合使用,以生成特定于你的数据的答案。 当用户提出问题时,系统会根据用户输入来搜索数据存储。 然后将用户问题与匹配结果结合起来,并使用提示(对 AI 或机器学习模型的明确指令)将其发送到 LLM,以生成所需的答案。 此过程可按如下所示进行说明。
什么是索引?为什么我需要它?
RAG 使用你的数据来生成用户问题的答案。 为了使 RAG 正常工作,我们需要找到一种方法来搜索数据并将其以简单且经济高效的方式发送给 LLM。 这是通过使用索引实现的。 索引是一种数据存储,可用于高效搜索数据。 此索引在 RAG 中非常有用。 可以通过创建矢量(使用嵌入模型将文本/数据转换为数字序列)来针对 LLM 优化索引。 良好的索引通常具有高效的搜索功能,例如关键字搜索、语义搜索、矢量搜索或这些功能的组合。 此优化的 RAG 模式可以按如下所示方式进行说明。
Azure AI 提供用于 RAG 模式的索引资产。 索引资产包含重要信息,例如索引存储在哪里、如何访问索引、搜索索引的模式是什么、索引是否有矢量、用于矢量的嵌入模型是什么,等等。Azure AI 索引使用 Azure AI 搜索作为主要的和推荐的索引存储。 Azure AI 搜索是一种 Azure 资源,它支持对搜索索引中存储的矢量和文本数据进行信息检索。