你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

在 Azure 逻辑应用中分析标准工作流的内容或将其分块(预览版)

适用于:Azure 逻辑应用(标准)

重要

此功能为预览版,受 Microsoft Azure 预览版补充使用条款限制。

有时,你必须将内容转换为标记,这些标记是单词或字符块,或者,你必须将大型文档分隔为较小的部分,然后才能将此内容与某些操作一起使用。 例如,Azure AI 搜索Azure OpenAI 操作需要标记化输入,并且只能处理有限数量的标记。

对于这些方案,请在标准逻辑应用工作流中使用名为“分析文档”和“区块文本”的“数据操作”操作。 这些操作分别将内容(如 PDF 文档、CSV 文件、Excel 文件等)转换为标记化字符串输出,然后根据标记数将字符串拆分为不同片段。 然后,你可以在工作流的后续操作中引用和使用这些输出。

提示

若要了解详细信息,可以向 Azure Copilot 提出以下问题:

  • AI 中的标记是什么?
  • 什么是标记化输入?
  • 什么是标记化字符串输出?
  • AI 中的分析是什么?
  • AI 中的分块是什么?

若要查找 Azure Copilot,请在 Azure 门户 工具栏上,选择 Copilot

本操作指南介绍如何在工作流中添加和设置这些操作。

先决条件

  • Azure 帐户和订阅。 如果没有 Azure 订阅,请注册一个免费 Azure 帐户

  • 具有现有触发器的标准逻辑应用工作流,因为“分析文档”和“将文本分块”操作仅可用作操作。 确保检索要分析或分块内容的操作先于这些数据操作。

分析文档

分析文档”操作将内容(如 PDF 文档、CSV 文件、Excel 文件等)转换为标记化字符串。 在此示例中,假设工作流从名为“收到 HTTP 请求时”的请求触发器开始。 此触发器等待接收从另一个组件发送的 HTTP 请求,例如 Azure 函数、另一个逻辑应用工作流等。 HTTP 请求包括可供工作流检索和分析的新上传文档的 URL。 HTTP 操作紧随触发器之后,并将 HTTP 请求发送到文档的 URL,并从其存储位置返回文档内容。

如果使用其他内容源(如 Azure Blob 存储、SharePoint、OneDrive、文件系统、FTP 等),则可以检查触发器是否可用于这些源。 你还可以检查操作是否可用于检索这些源的内容。 有关详细信息,请参阅“内置操作”和“托管连接器”。

  1. Azure 门户的设计器中,打开标准逻辑应用资源和工作流。

  2. 在现有触发器和操作下,请遵循以下常规步骤,将名为“分析文档”的“数据操作”操作添加到工作流。

  3. 在设计器上,选择“分析文档”操作。

  4. 操作信息窗格打开后,在“参数”选项卡上的“ 文档内容”属性中,按照以下步骤指定要分析的内容:

    1. 在“文档内容”框内进行选择。

      将显示动态内容列表(闪电图标)和表达式编辑器(函数图标)的选项。

      • 若要从前面的操作中选择输出,请选择动态内容列表。

      • 若要创建一个操控前面操作的输出的表达式,请选择表达式编辑器。

      选择动态内容列表的闪电图标以继续演示本示例。

    2. 动态内容列表打开后,从前面的操作中选择所需的输出。

      在此示例中,“分析文档”操作引用 HTTP 操作的“正文”输出。

      屏幕截图显示了标准工作流设计器,以及名为“分析具有打开的动态内容列表的文档”的操作,以及从 HTTP 操作中选择的正文输出。

      正文”输出现在显示在“文档内容”框中:

      屏幕截图显示了示例工作流,其中包含名为“分析文档”的操作中的正文输出。

  5. 在“分析文档”操作下,添加要用于处理标记化字符串输出的操作,例如,“将文本分块”(本指南稍后将对此进行介绍)。

分析文档 - 参考

参数

名称 数据类型 描述 限制
文档内容 <content-to-parse> 任意 要分析的内容。

Outputs

名称 数据类型 描述
已分析的结果文本 字符串数组 字符串数组。
已分析的结果 Object 包含整个已分析文本的对象。

将文本分块

将文本分块”操作会将内容拆分为较小的片段,以便在当前工作流的后续操作中更轻松地使用。 以下步骤基于“分析文档”这一部分的示例构建,并拆分标记字符串输出,以用于获得标记化的、内容更少的区块的 Azure AI 操作。

注意

使用分块的上述操作不会影响“将文本分块”操作,“将文本分块”操作也不会影响使用区块的后续操作。

  1. Azure 门户的设计器中,打开标准逻辑应用资源和工作流。

  2. 在“分析文档”操作下,按照以下常规步骤添加名为“将文本分块的“数据操作”操作。

  3. 在设计器中选择“将文本分块”操作。

  4. 操作信息窗格打开后,在“参数”选项卡上,对于“分块策略”属性,请选择“TokenSize”作为分块方法(如果尚未选择)

    策略 说明
    TokenSize 根据标记数拆分指定的内容。
  5. 选择策略后,在“文本”框中进行选择,以指定进行分块的内容。

    将显示动态内容列表(闪电图标)和表达式编辑器(函数图标)的选项。

    • 若要从前面的操作中选择输出,请选择动态内容列表。

    • 若要创建一个操控前面操作的输出的表达式,请选择表达式编辑器。

    选择动态内容列表的闪电图标以继续演示本示例。

    1. 动态内容列表打开后,从前面的操作中选择所需的输出。

      在此示例中,“将文本分块”操作引用来自“分析文档”操作的“已分析的结果文本”输出。

      屏幕截图显示了标准工作流设计器,名为“将具有打开的动态内容列表的文本分块”的操作,以及从“分析文档”操作中选择的输出。

      已分析的结果操作输出现在显示在“文本”框中:

      屏幕截图显示了示例工作流,其中名为“将文本分块”的操作中选择了已分析的结果文本输出。

  6. 根据所选的策略和方案完成“将文本分块”操作的设置。 有关详细信息,请参阅“将文本分块 - 引用”。

现在,添加预期并使用标记化输入的其他操作(例如 Azure AI 操作)时,输入内容的格式会更方便使用。

将文本分块 - 参考

参数

名称 数据类型 描述 限制
分块策略 TokenSize 字符串枚举 根据标记数拆分内容。

默认设置:TokenSize
不适用
文本 <content-to-chunk> 任意 要分块的内容。 请参阅“限制和配置参考指南
EncodingModel <编码方法> 字符串枚举 要使用的编码模型:

- 默认值:cl100k_base (gpt4, gpt-3.5-turbo, gpt-35-turbo)

- r50k_base (gpt-3)

- p50k_base (gpt-3)

- p50k_edit (gpt-3)

- cl200k_base (gpt-4o)

有关详细信息,请参阅“OpenAI - 模型概览”。
不适用
TokenSize <max-tokens-per-chunk> Integer 每个内容区块的最大标记数。

默认值:无
最小值:1
最大值:8000
PageOverlapLength <number-of-overlapping-characters> Integer 要包含在下一个区块中的上一个区块末尾的字符数。 此设置有助于避免在将内容拆分为区块时丢失重要信息,并可跨区块保护连续性和上下文。

默认值:0 - 不存在重叠字符。
最小值:0

提示

若要了解详细信息,可以向 Azure Copilot 提出以下问题:

  • 分块中的 PageOverlapLength 是什么?
  • Azure AI 中的编码是什么?

若要查找 Azure Copilot,请在 Azure 门户 工具栏上,选择 Copilot

Outputs

名称 数据类型 描述
已分块的结果文本项 字符串数组 字符串数组。
已分块的结果文本项的项 字符串 数组中的单个字符串。
已分块的结果 Object 包含整个已分块的文本的对象。

示例工作流

以下示例包括创建完整工作流模式以从任何源引入数据的其他操作:

屏幕截图显示了完整的实例工作流。

步长 任务 基础操作 说明
1 等待或检查新内容。 收到 HTTP 请求时 轮询或等待新数据到达的触发器,基于计划的重复,或者分别响应特定事件。 此类事件可能是上传到特定存储系统(例如 Azure Blob 存储、SharePoint、OneDrive、文件系统、FTP 等)的新文件。

在此示例中,请求触发器操作等待从另一个终结点发送的 HTTP 或 HTTPS 请求。 该请求包括新上传文档的 URL。
2 获取内容。 HTTP 使用触发器输出中的文件 URL 检索上传文档的 HTTP 操作。
3 撰写文档详细信息。 Compose 一个数据操作操作,可连接各种项。

此示例连接有关文档的键值信息。
4 创建令牌字符串。 分析文档 一个数据操作行为,该行为使用“撰写”操作的输出生成标记化字符串。
5 创建内容区块。 将文本分块 一项数据操作,它根据每个内容块的标记数将标记字符串拆分成多个部分
6 将标记化文本和分块文本转换为 JSON。 Parse JSON 一个数据操作操作,可将分块输出转换为 JSON 数组。
7 选择 JSON 数组项。 Select 一个数据操作操作,可从 JSON 数组中选择多个项。
8 生成嵌入。 获取多个嵌入 Azure OpenAI 操作,可为每个 JSON 数组项创建嵌入。
9 选择嵌入和其他信息。 Select 一个数据操作操作,可选择嵌入和其他文档信息。
10 为数据编制索引。 为文档编制索引 Azure AI 搜索 操作,可基于每个所选嵌入为数据编制索引。