你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure AI 搜索中,可以使用 Azure 门户中的 导入数据(新) 向导 创建一个逻辑应用工作流,用于为内容编制索引和向量化。 此功能等效于生成索引管道并创建可搜索内容的 索引器和 数据源。
在向导中创建工作流后,可以与其他工作流一起管理 Azure 逻辑应用中的工作流。 在后台,向导遵循一个工作流模板,该模板从用于在 AI 搜索中编制索引的源中拉取(引入)内容。 此方案中使用的连接器已预生成且已存在于 Azure 逻辑应用中,因此工作流模板只是提供这些连接器创建与数据源、AI 搜索和其他项的连接以完成引入工作流的详细信息。
主要功能
Azure AI 搜索中集成 Azure 逻辑应用,支持以下内容:
- 来自 Microsoft 和其他提供程序的更多数据源
- 集成矢量化
- 计划索引或按需索引
- 新文档和现有文档的更改检测
导入数据(新)向导输入包括:
- 支持的数据源
- 支持的文本嵌入模型
向导完成后,你拥有以下组件:
| 组件 | 位置 | Description |
|---|---|---|
| 搜索索引 | Azure AI 搜索 | 包含来自受支持逻辑应用连接器的索引内容。 索引架构是由向导创建的默认索引。 可以添加额外的元素,例如计分配置文件或语义配置,但不能更改现有字段。 可以在 Azure AI 搜索上查看、管理和访问搜索索引。 |
| 逻辑应用资源和工作流 | Azure Logic Apps | 可以查看正在运行的工作流,也可以在 Azure 逻辑应用中打开设计器来编辑工作流,就像从 Azure 逻辑应用启动时一样定期进行编辑。 可以编辑和扩展工作流,但请谨慎行事,以免中断索引管道。 向导创建的工作流使用“消耗”托管选项。 |
| 逻辑应用模板 | Azure Logic Apps | 每个工作流最多创建两个模板:一个用于按需索引,另一个用于计划索引的模板。 可以在工作流的 “索引多个文档 ”步骤中修改索引计划。 |
先决条件
在开始之前,请查看以下要求:
必须是 Azure 订阅中的 所有者 或 参与者 ,有权创建资源。
如果要使用搜索服务标识连接到 Azure 数据源,则需要使用 Azure AI 搜索的基本定价层或更高层次,否则可以使用任何层,但要受层级限制的约束。
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 逻辑应用中的工作流连接到 Azure AI 服务。
- 检查是否有新数据。
- 获取数据。 使用触发器输出中的文件 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 中没有编程支持。