在 Power Automate 中使用文档处理模型

  1. 登录到 Power Automate

  2. 选择我的流>新流>即时云端流

  3. 输入流的名称。

  4. 选择如何触发此流下,选择手动触发流,然后选择创建

  5. 展开手动触发流,然后选择 +添加输入>文件作为输入类型。

  6. 选择 +新建步骤>AI Builder,然后在操作列表中选择从文档中提取信息

  7. 选择要使用的文档处理模型,然后选择文档类型。

  8. 窗体字段中,从触发器添加文件内容

    文件内容的屏幕截图。

  9. 在后续操作中,可以使用 AI Builder 模型提取的任何字段和表。 例如,假设我们的模型经过训练,可以提取批号净重毛重值。 我们还想在 AI Builder 从文档中提取它们后将它们发布到 Microsoft Teams 渠道。 只需从 Microsoft Teams 连接器添加发布消息操作,然后从令牌列表中选择您的字段。

    备注

    • 若要检索字段的值,请选择 <field_name> 值。 例如,对于批号字段,选择批号值
    • 要检索复选框的值,请选择<复选框_名称>值。 例如,对于名为优先送货的复选框,选择优先送货值。 返回值是布尔类型:如果复选框在文档中被标记为选中状态为 true,否则为 false
    • 若要检索提取项的置信度分数,选择<字段_名称>置信度分数。 例如,对于批号字段,选择批号置信度分数

    文档处理流概览截图。

恭喜! 您已经创建了一个使用 AI Builder 文档处理模型的流。 选择右上角的保存,然后选择测试以试用您的流。

页面范围

对于具有多页的文档,可以指定要处理的页面范围。

  1. 从文档中提取信息卡片上,选择显示高级选项。 此选项更改为隐藏高级选项

  2. 页面参数中,输入页面值或页面范围。 示例:1 或 3-5。

    您在其中输入页面范围的页面字段的屏幕截图。

备注

如果您有一个只有一个窗体的大型文档,我们强烈建议您使用 Pages 参数。 这样做可以降低模型预测的成本,从而提高性能。 但是,页面范围应包含唯一表单,操作才能返回正确的数据。

示例:文档包含第 2 页中的第一个表单和跨越第 3 页和第 4 页的第二个表单:

  • 如果您输入页面范围 2,它将返回第一个表单的数据。
  • 如果您输入页面范围 3-4,它将仅返回第二个表单的数据。
  • 如果输入页面范围 2-4,则它会返回第一个和第二个表单的部分数据(应避免这种情况)。

参数

输入

名称 必需 类型​​ 说明
AI 模型 模型 用于分析的文档处理模型 经过训练的已发布文档处理模型
文档类型 列表 要分析的表格的文件类型 PDF 文档 (.pdf)、JPEG 图像 (.jpeg)、PNG 图像 (.png)
表单 文件 要处理的表格
字符串 要处理的页面范围

输出

客户 Type 描述
{field} 值 字符串 AI 模型提取的值
{field} 置信度分数 float 模型对其预测的置信度 值的范围为 0 到 1。 接近 1 的值表明提取的值的准确性更强
{table}{column} 值 string AI 模型为表中的单元格提取的值
{table}{column} 置信度分数 float 模型对其预测的置信度 值的范围为 0 到 1。 接近 1 的值表明提取的单元格值的准确性更强

备注

  • 可能建议更多输出参数,如字段坐标、多边形、边界框和页码。 这些参数不会有意列出,它们主要是用于高级用途。

  • 坐标以文档高度和宽度的百分比表示,从左上角开始。 例如,如果给定坐标 X = 0.10 和 Y = 0.20,这表示文档沿 X 轴宽度的 10% 和沿 Y 轴高度的 20% 处的位置,两者都是从左上角测量的。

常见用例

在 Power Automate 中迭代文档处理表输出

为了说明此过程,我们使用以下示例,在此示例中,我们训练文档处理模型来提取我们命名为项目的表,其包含三个列:数量说明总计。 我们希望将表中的每个明细项目存储到 Excel 文件中。

通过文档处理提取的表。

  1. 选择您希望为表写入单元格的字段。 动态内容面板将打开,显示文档处理模型知道如何提取的所有内容。 搜索 {您的表名称} {您的列名称} 值。 我们的示例使用的是项目数量值

    “处理并保存窗体中的信息”屏幕。

  2. 添加此值后,添加位置的操作会自动插入到Apply to each控件中。 这样,流运行时将处理表中的每一行。

  3. 继续添加要迭代的列。

“在表中添加行”卡片。

备注

通过文档处理提取的表当前不返回置信度分数。

处理 Power Automate 中复选框的输出

复选框值是布尔类型:true 表示复选框在文档中被标记为选中状态,false 表示没有。

检查具体值的一种方法是使用 Condition 操作。 如果复选框值等于 true,则执行一个操作。 如果值为 false,则执行其他操作。 下图显示了一个示例。

在条件中检索复选框值

另一个选项是使用 if 表达式将复选框的 true/false 输出映射到您选择的其他值。 例如,如果选择了文档中的一个复选框,您可能在 Excel 文件中有一个列,您希望在其中写入“Priority”,或者如果未选择,写入“Non-priority”。 可以使用以下表达式来实现此目的:if(<document processing output>, 'Priority', 'Non-priority')。 下面的动画显示了一个示例。

包含表达式的映射复选框值

删除 Power Automate 中文档处理输出中的货币符号(€、$...)

例如,文档处理模型提取的总计值可能含有货币符号,例如,$54。 要删除 $ 符号或任何其他要省略的符号,请使用 replace 表达式将其删除。 操作步骤如下:

replace(<document processing output>, '$', '')

替换货币表达式的动画。

在 Power Automate 中将文档处理输出字符串转换为数字

AI Builder 文档处理将所有提取的值作为字符串返回。 如果您要保存通过 AI Builder 文档处理提取的值的目标需要一个数字,您可以使用 intfloat 表达式将值转换为数字。 如果数字没有小数,使用 int。 如果数字有小数,则使用 float。 下面是操作方法:

float('<document processing output>')

“转换为数字”动画。

删除 Power Automate 中文档处理输出中的空格

要从输出值中删除空格,请使用 replace 函数:

replace(<document processing output>, ' ', '')

替换空格表达式的动画。

在 Power Automate 中将文档处理输出字符串转换为日期

AI Builder 文档处理将所有输出作为字符串返回。 如果要保存通过文档处理提取的值的目标需要采用日期格式,您可以将包含日期的值转换为日期格式。 使用 formatDateTime 表达式执行此操作。 下面是操作方法:

formatDateTime(<document processing output>)

formatDateTime 表达式的动画。

筛选流中的电子邮件签名,使其不被文档处理模型处理 (Microsoft 365 Outlook)

对于来自 Microsoft 365 Outlook 连接器的传入电子邮件,Power Automate 会将电子邮件签名作为附件选择。 要防止文档处理模型处理这些内容,请向您的流添加一个条件,检查来自名为 Attachments is Inline 的 Microsoft 365 Outlook 连接器的输出是否等于 false。 在条件的 If yes 分支中添加文档处理操作。 这样,只会处理不是内联签名的电子邮件附件。

筛选附件条件。