如何使用 Azure AI 搜索生成 RAG 解决方案

本教程系列演示了在 Azure AI 搜索上生成 RAG 解决方案的模式。 它涵盖了 Azure AI 搜索中内置的组件、依赖项以及优化措施,以最大限度地提高相关性并降低成本。

示例数据是上传到 Azure 存储的 PDF 的集合

可以在此 Python 笔记本中找到示例代码,但我们建议将此系列中的文章用于上下文、见解和探索替代方法。

本系列中的练习

  • 选择用于嵌入和聊天的模型

  • 设计对话搜索的索引

  • 设计加载、区块、嵌入和引入可搜索内容的索引管道

  • 使用查询和聊天模型检索可搜索内容

  • 最大化相关性

  • 最大程度地减少存储和成本

  • 部署和保护应用

我们省略了 RAG 模式的几个方面,以减少复杂性:

  • 没有聊天历史记录和上下文的管理。 聊天历史记录通常与地面数据分开存储和管理,这意味着额外的步骤和代码。 本教程假定 LLM 中的原子问题和答案。

  • 对结果不提供每用户用户安全性(我们称之为“安全修整”)。 有关详细信息和资源,请从安全修整开始,并确保查看文章末尾的链接。

本系列介绍 RAG 解决方案开发的基础知识。 了解基础知识后,请继续学习加速器和其他代码示例,这些示例提供更多抽象,或者更适合生产环境和更复杂的工作负荷。

为何使用适用于 RAG 的 Azure AI 搜索?

聊天模型面临可以在请求中接受的数据量的约束。 应使用 Azure AI 搜索,因为传递给 LLM 的内容质量可以生成或破坏 RAG 解决方案。

为了向聊天模型提供高质量的输入,Azure AI 搜索提供了具有 AI 集成和全面相关性优化的最佳搜索引擎。 搜索引擎支持矢量相似性搜索(多个算法)、关键字搜索、模糊搜索、地理空间搜索和筛选器。 可以生成包含所有这些组件的混合查询请求,并且可以控制每个查询对整体请求的贡献量。

下一步