在 Power Automate 中使用文档处理模型
登录到 Power Automate。
选择我的流>新流>即时云端流。
输入流的名称。
在选择如何触发此流下,选择手动触发流,然后选择创建。
展开手动触发流,然后选择 +添加输入>文件作为输入类型。
选择 +新建步骤>AI Builder,然后在操作列表中选择从文档中提取信息。
选择要使用的文档处理模型,然后选择文档类型。
在窗体字段中,从触发器添加文件内容。
在后续操作中,可以使用 AI Builder 模型提取的任何字段和表。 例如,假设我们的模型经过训练,可以提取批号、净重和毛重值。 我们还想在 AI Builder 从文档中提取它们后将它们发布到 Microsoft Teams 渠道。 只需从 Microsoft Teams 连接器添加发布消息操作,然后从令牌列表中选择您的字段。
备注
- 若要检索字段的值,请选择 <field_name> 值。 例如,对于批号字段,选择批号值。
- 要检索复选框的值,请选择<复选框_名称>值。 例如,对于名为优先送货的复选框,选择优先送货值。 返回值是布尔类型:如果复选框在文档中被标记为选中状态为
true
,否则为false
。 - 若要检索提取项的置信度分数,选择<字段_名称>置信度分数。 例如,对于批号字段,选择批号置信度分数。
恭喜! 您已经创建了一个使用 AI Builder 文档处理模型的流。 选择右上角的保存,然后选择测试以试用您的流。
页面范围
对于具有多页的文档,可以指定要处理的页面范围。
在从文档中提取信息卡片上,选择显示高级选项。 此选项更改为隐藏高级选项。
在页面参数中,输入页面值或页面范围。 示例: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 文件中。
选择您希望为表写入单元格的字段。 动态内容面板将打开,显示文档处理模型知道如何提取的所有内容。 搜索 {您的表名称} {您的列名称} 值。 我们的示例使用的是项目数量值。
添加此值后,添加位置的操作会自动插入到Apply to each控件中。 这样,流运行时将处理表中的每一行。
继续添加要迭代的列。
备注
通过文档处理提取的表当前不返回置信度分数。
处理 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 文档处理提取的值的目标需要一个数字,您可以使用 int 或 float 表达式将值转换为数字。 如果数字没有小数,使用 int。 如果数字有小数,则使用 float。 下面是操作方法:
float('<document processing output>')
删除 Power Automate 中文档处理输出中的空格
要从输出值中删除空格,请使用 replace 函数:
replace(<document processing output>, ' ', '')
在 Power Automate 中将文档处理输出字符串转换为日期
AI Builder 文档处理将所有输出作为字符串返回。 如果要保存通过文档处理提取的值的目标需要采用日期格式,您可以将包含日期的值转换为日期格式。 使用 formatDateTime 表达式执行此操作。 下面是操作方法:
formatDateTime(<document processing output>)
筛选流中的电子邮件签名,使其不被文档处理模型处理 (Microsoft 365 Outlook)
对于来自 Microsoft 365 Outlook 连接器的传入电子邮件,Power Automate 会将电子邮件签名作为附件选择。 要防止文档处理模型处理这些内容,请向您的流添加一个条件,检查来自名为 Attachments is Inline 的 Microsoft 365 Outlook 连接器的输出是否等于 false。 在条件的 If yes 分支中添加文档处理操作。 这样,只会处理不是内联签名的电子邮件附件。