如何使用 Azure AI 搜索生成 RAG 解决方案
本教程系列演示了在 Azure AI 搜索上生成 RAG 解决方案的模式。 它涵盖了 Azure AI 搜索中内置的组件、依赖项以及优化措施,以最大限度地提高相关性并降低成本。
示例数据是上传到 Azure 存储的 PDF 的集合。
可以在此 Python 笔记本中找到示例代码,但我们建议将此系列中的文章用于上下文、见解和探索替代方法。
本系列中的练习
选择用于嵌入和聊天的模型
设计对话搜索的索引
设计加载、区块、嵌入和引入可搜索内容的索引管道
使用查询和聊天模型检索可搜索内容
最大化相关性
最大程度地减少存储和成本
部署和保护应用
我们省略了 RAG 模式的几个方面,以减少复杂性:
没有聊天历史记录和上下文的管理。 聊天历史记录通常与地面数据分开存储和管理,这意味着额外的步骤和代码。 本教程假定 LLM 中的原子问题和答案。
对结果不提供每用户用户安全性(我们称之为“安全修整”)。 有关详细信息和资源,请从安全修整开始,并确保查看文章末尾的链接。
本系列介绍 RAG 解决方案开发的基础知识。 了解基础知识后,请继续学习加速器和其他代码示例,这些示例提供更多抽象,或者更适合生产环境和更复杂的工作负载。
为何使用适用于 RAG 的 Azure AI 搜索?
聊天模型面临可以在请求中接受的数据量的约束。 应使用 Azure AI 搜索,因为传递给 LLM 的内容质量可以生成或破坏 RAG 解决方案。
为了向聊天模型提供高质量的输入,Azure AI 搜索提供了具有 AI 集成和全面相关性优化的最佳搜索引擎。 搜索引擎支持矢量相似性搜索(多个算法)、关键字搜索、模糊搜索、地理空间搜索和筛选器。 可以生成包含所有这些组件的混合查询请求,并且可以控制每个查询对整体请求的贡献量。