你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
注释
Azure AI 搜索可通过Azure门户、REST API 和Azure SDK获取。 它也是 Foundry IQ 的基础;Foundry IQ 是一个托管式知识层,可将企业内容转化为供 Microsoft Foundry 门户中的智能体使用的、可复用且具备权限感知能力的知识库。
在 Azure AI 搜索中,可以使用 Azure 门户中的 “导入数据 ”向导 创建一个逻辑应用工作流,用于为内容编制索引和向量化。 此功能等效于生成索引管道并创建可搜索内容的 索引器和 数据源。
在向导中创建工作流后,可以与其他工作流一起管理 Azure 逻辑应用中的工作流。 在后台,向导遵循工作流模板,该模板从源中拉取内容,以便在Azure AI 搜索中编制索引。 此方案中使用的连接器是预构建的,并且已存在于Azure 逻辑应用中,因此工作流模板只是提供这些连接器创建与数据源的连接的详细信息,Azure AI 搜索,以及完成引入工作流所需的其他项。
主要功能
Azure AI 搜索中集成 Azure 逻辑应用,支持以下内容:
- 来自 Microsoft 和其他提供程序的更多数据源
- 集成矢量化
- 计划索引或按需索引
- 新文档和现有文档的更改检测
导入数据向导输入包括:
- 支持的数据源
- 支持的文本嵌入模型
向导完成后,你拥有以下组件:
| 组件 | 位置 | Description |
|---|---|---|
| 搜索索引 | Azure AI 搜索 | 包含来自受支持逻辑应用连接器的索引内容。 索引架构是由向导创建的默认索引。 可以添加额外的元素,例如计分配置文件或语义配置,但不能更改现有字段。 可以在 Azure AI 搜索上查看、管理和访问搜索索引。 |
| 逻辑应用资源和工作流 | Azure 逻辑应用 | 你可以在 Azure 逻辑应用 中查看正在运行的工作流,或打开设计器来编辑该工作流,就像你一开始是在 Azure 逻辑应用 中进行这些操作一样。 可以编辑和扩展工作流,但请谨慎不要中断索引管道。 向导创建的工作流使用“消耗”托管选项。 |
| 逻辑应用模板 | Azure 逻辑应用 | 每个工作流最多创建两个模板:一个用于按需索引,另一个用于计划索引的模板。 可以在工作流的 “索引多个文档 ”步骤中修改索引计划。 |
先决条件
必须是 Azure 订阅中的 所有者 或 参与者 ,有权创建资源。
Azure AI 搜索,若你想使用搜索服务标识连接到 Azure 数据源,则需基础定价层或更高。 否则,可以使用任何层,但受层限制的约束。
使用支持的嵌入模型部署Azure OpenAI。 矢量化已集成到工作流中。 如果不需要矢量,可以忽略字段或尝试其他索引策略。
受支持区域中的 Azure 逻辑应用。 如果要在连接而不是 API 密钥上使用 Microsoft Entra ID 身份验证,则应具有 系统分配的托管标识 。
注释
逻辑应用工作流是可计费的资源。 有关详细信息,请参阅 Azure 逻辑应用定价。
支持的区域
以下区域提供了端到端功能,这些区域提供数据源连接、文档破解、文档区块、对 Azure OpenAI 嵌入模型的支持,以及用于拉取数据的内置索引支持。 以下 Azure 逻辑应用支持的区域提供了用于索引集成的 ParseDocument 操作。
- 美国东部
- 美国东部 2
- 美国中南部
- 美国西部 2
- 美国西部 3
- Brazil South
- Australia East
- 东亚
- 东南亚
- 北欧
- 瑞典中部
- 英国南部
支持的模型
通过 导入数据 向导的逻辑应用路径支持选择嵌入模型。
在 Azure OpenAI 上为端到端工作流部署以下 嵌入模型 之一。
- text-embedding-3-small
- text-embedding-3-large
- text-embedding-ada-002
受支持的连接器
以下连接器可用于为非结构化数据编制索引,作为主要面向结构化数据的经典索引器的补充。
支持的操作
逻辑应用集成包括以下索引操作。 有关详细信息,请参阅 从 Azure 逻辑应用中的工作流连接到 Foundry 工具。
检查是否有新数据。
获取数据。 使用触发器输出中的文件 URL 的 HTTP 操作来检索已上传的文档。
撰写文档详细信息。 一个“数据操作”行为,可连接各种项。
创建令牌字符串。 一个“数据操作”行为,该行为使用“撰写”操作的输出生成标记字符串。
创建内容区块。 一个“数据操作”行为,该行为根据每个内容块的字符数或标记数,将标记字符串拆分成几部分。
将标记化数据转换为 JSON。 一个数据操作,用于将令牌字符串块转换为 JSON 数组。
选择 JSON 数组项。 数据操作功能从 JSON 数组中选择多个项目。
生成嵌入。 一个 Azure OpenAI 操作,用于为每个 JSON 数组项创建嵌入向量。
选择嵌入和其他信息。 一个“数据操作”行为,可选择嵌入和其他文档信息。
为数据编制索引。 一个 Azure AI 搜索操作,基于每个所选嵌入来对数据进行索引。
它还支持以下查询操作:
等待输入提示。 一个可基于计划的重复周期或分别响应特定事件,轮询或等待新数据到达的触发器。
输入模型的系统消息。 数据操作的动作,用于提供训练模型的输入。
输入示例问题和响应。 一种数据操作操作,提供样本客户问题和关联角色用于训练模型。
输入搜索查询的系统消息。 数据操作动作,提供搜索查询输入以训练模型。
生成搜索查询。 一个内联代码操作,可使用 JavaScript 基于上述撰写操作的输出为矢量存储创建搜索查询。
将查询转换为嵌入。 一个 Azure OpenAI 操作,可连接到聊天补全 API,这可以保证聊天对话中的可靠响应。
获取嵌入。 一个 Azure OpenAI 操作,可获取单个矢量嵌入。
搜索矢量数据库。 执行在向量存储中搜索的 Azure AI 搜索动作。
创建提示。 使用 JavaScript 构建提示的内联代码作业。
执行聊天补全。 一个 Azure OpenAI 操作,可连接到聊天补全 API,这可以保证聊天对话中的可靠响应。
返回响应。 使用请求触发器时,请求操作将结果返回给调用方。
局限性
搜索索引是使用固定架构(文档 ID、内容和矢量化内容)生成的,并且仅提取文本。 只要更新不影响现有字段 ,就可以修改索引 。
矢量化仅支持文本嵌入。
不支持删除检测。 必须手动从索引中删除孤立文档。
搜索索引中的重复文档是此功能的已知问题。 如果出现此问题,可以考虑删除这些对象并重新开始。
不支持门户向导创建的逻辑应用工作流中的专用终结点。 工作流使用 消耗 托管选项进行托管 ,并受其约束。 若要使用 标准 托管选项,请使用编程方法来创建工作流。
创建逻辑应用工作流
按照以下步骤在 Azure AI 搜索中创建用于为内容编制索引的逻辑应用工作流。
在 Azure 门户中启动 导入数据 向导。
在“连接到你的数据”中,提供用于搜索索引和工作流的名称前缀。 拥有通用名称有助于统一管理它们。
指定索引频率。 如果选择按计划执行,则使用包含计划选项的模板来创建工作流。 创建工作流后,可以在工作流的 “索引多个文档 ”步骤中修改索引计划。
选择一种身份验证类型,其中逻辑应用工作流连接到搜索引擎并启动索引过程。 工作流可以使用 Azure AI 搜索 API 密钥 进行连接;或者,如果存在逻辑应用系统分配的托管标识,向导可以创建一个角色分配来授予其权限。
选择 “下一步 ”以继续下一页。
在 向量化文本中,提供模型部署和 Azure OpenAI 连接信息。 选择订阅和服务、 受支持的文本嵌入模型,以及工作流用于连接到 Azure OpenAI 的身份验证类型。
选择 “下一步 ”以继续下一页。 查看配置。
选择“ 创建 ”以开始处理。
工作流在逻辑应用(消耗)中作为一个无服务器工作流运行,独立于 AI 搜索服务。
在 Azure 门户中,在 Azure AI 搜索的 “索引 ”页中确认索引创建。 搜索资源管理器 是第一个选项卡。选择 “搜索 ”可返回某些内容。
修改现有对象
可以在不中断索引的情况下对搜索索引进行以下修改:
无需中断索引即可对工作流进行以下更新:
- 修改 文件夹中的列表文件 以更改发送到索引的文档数。
- 修改 区块文本 以改变令牌输入。 对于大多数方案,建议的令牌大小为 512 个令牌。
- 修改 区块文本 以添加页面重叠长度。
- 在向导中选择计划索引时,修改 索引多个文档 步骤来控制索引频率。
在逻辑应用设计器中,查看工作流和索引管道中的每个步骤。 工作流指定文档提取、默认文档分块(文本拆分技能)、嵌入(Azure OpenAI 嵌入技能)、输出字段映射,最后编制索引。
模板和工作流管理
该向导在指定逻辑应用索引器时创建模板和工作流。 若要创建和管理它们(包括模板删除),请使用逻辑应用设计器。 Azure 门户搜索服务仪表板不提供模板或工作流管理,目前 Azure AI 搜索 API 中没有编程支持。