你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure AI 搜索是一种可缩放的搜索基础结构,可索引异类内容,并通过 API、应用程序和 AI 代理进行检索。 该平台提供与 Azure AI 堆栈(OpenAI、AI Foundry、机器学习)的本机集成,并支持用于第三方和开源模型集成的可扩展体系结构。
该服务同时处理传统搜索工作负载和新式 RAG(检索扩充生成)模式,用于聊天式 AI 应用程序。 这使得它适用于企业搜索方案和 AI 支持的客户体验,这些体验需要通过聊天完成模型生成动态内容。
创建搜索服务时,你会使用以下功能:
- 用于代理搜索、矢量搜索、全文、多模式搜索或混合搜索的搜索引擎。
- 在索引期间可以添加结构和转换的内容处理。
- 代理、矢量、文本、混合和多模式查询的广泛查询语法。
- 通过语义排名、评分配置文件和参数化查询实现智能结果。
- Azure 规模、安全性和覆盖范围。
- 数据层、机器学习层、Azure AI 服务和 Azure OpenAI 上的 Azure 集成。
从体系结构方面来讲,搜索服务位于外部数据存储(包含未编入索引的数据)与客户端应用(向搜索索引发送查询请求并处理响应)之间。
在索引端,如果内容位于 Azure 上,则可以使用索引器和技能集进行自动化和 AI 扩充的索引编制。 或者,创建一个逻辑应用工作流,以便通过更广泛的受支持的数据源集实现等效自动化。
在检索端,应用可以是代理或工具、机器人或任何向搜索索引或知识代理发送请求的客户端。
在 Azure AI 搜索中,索引和查询引擎是在读写和只读模式下运行的相同组件,但我们在此关系图中将其拆分,以指示正在执行的工作类型。
在搜索服务中
在搜索服务本身,两个主要工作负荷是索引编制和查询。
编制索引是将内容加载到搜索服务中并使其可供搜索的引入过程。 在内部,入站文本处理为令牌并存储在倒排索引中,入站矢量存储在矢量索引中。 Azure AI 搜索可以编制索引的文档格式为 JSON。 可以上传 JSON 文档,或使用索引器或逻辑应用工作流检索数据并将其序列化为 JSON。
AI 扩充 是通过扩展使用图像和语言模型的索引的 技能集 实现的。 如果源文档中有图像或大型非结构化文本,则可以附加用于分块和向量化内容的技能。 如果你有图像内容,则可以使用 LLM 来汇总内容、生成说明或执行 OCR 和图像分析。 技能还可以推断结构、翻译文本等。 输出是可以序列化为 JSON 并引入搜索索引的文本或矢量。
当客户端应用将查询请求发送到搜索服务并处理响应时,索引中填充了可搜索的内容后,就会发生查询。 所有查询均在控制的搜索索引上执行。 在代码中,设置搜索客户端以处理 代理查询、 矢量查询、 文本搜索、 混合查询、模糊搜索、自动完成、地理搜索等查询请求。
为什么使用 Azure AI 搜索?
Azure AI 搜索将索引和查询工作负载卸载到专用搜索服务。 它非常适合以下应用场景:
使用它为代理和机器人提供基于内容的基础数据。
将其用于传统的全文搜索和下一代矢量相似性搜索。 使用同时利用关键字和相似性搜索强度的信息检索来支持生成 AI 应用。 使用这两种形式检索最相关的结果。
将异构内容整合到由矢量和文本组成的用户定义索引和填充的搜索索引中。 你可以保持所有权并控制可搜索的内容。
将 Azure Blob 存储或 Azure Cosmos DB 中存储的大型无差别文本、图像文件或应用程序文件转换为可搜索的区块。 这是通过从 Azure AI 添加外部处理的 AI 技能在编制索引期间实现的。
为生成式 AI 和 RAG 应用集成数据分块和矢量化。
为关键字搜索添加语言或自定义文本分析。 如果你使用非英语内容,则 Azure AI 搜索支持 Lucene 分析器和 Microsoft 的自然语言处理器。 还可以配置分析器以实现原始内容的专业处理,例如筛选出标注字符,或识别并保留字符串中的模式。
轻松实现搜索相关的功能:相关性优化、分面导航、筛选器(包括地理空间搜索)、同义词映射和自动完成。
在文档级别应用精细访问控制。
有关特定功能的详细信息,请参阅 Azure AI 搜索的功能
如何入门
在 Azure 门户中使用:功能通过简单的 REST API 或 Azure SDK(如 Azure SDK for .NET)公开。 Azure 门户支持通过用于原型制作以及查询索引和技能组的工具进行服务管理和内容管理。
使用 Azure 门户
可以通过以下四个步骤来实现核心搜索功能的端到端探索:
查看示例
我们保留使用 Azure AI 搜索支持的 REST API 和 Azure SDK 编程语言的示例清单:
使用 API
或者,也可以以原子步骤创建、加载和查询搜索索引:
使用 Azure 门户、REST API、.NET SDK 或其他 SDK 创建搜索索引。 索引架构决定了可搜索内容的结构。
使用“推送”模型上传内容,以从任意源推送 JSON 文档,如果源数据属于支持的类型,则使用“拉取”模型(索引器)。
使用 Azure 门户 REST API、.NET SDK 或其他 SDK 中的搜索资源管理器查询索引。
使用加速器
或者,尝试解决方案加速器:
与数据解决方案加速器聊天 有助于基于内容创建自定义 RAG 解决方案。
对话知识挖掘解决方案加速器 可帮助你创建互动解决方案,以便从呼叫中心后续的转录文本中提取可执行的洞察。
文档知识挖掘加速器有助于处理和提取非结构化多模式文档中的摘要、实体和元数据。
构建自己的 copilot 解决方案加速器,利用 Azure OpenAI、Azure AI 搜索和 Microsoft Fabric 创建自定义 copilot 解决方案。