使用 Copilot Studio 中的自主代理进行文档处理

文档处理代理 是一种自主代理 Copilot Studio ,它使用生成式 AI 来处理文档。

小费

Document Processor 托管代理是用于端到端文档处理的打包解决方案。 它处理提取、验证、人工监控和导出到下游应用程序。 本文介绍了使用 Copilot Studio 自主代理处理文档的参考体系结构。 您可以针对不同的方案和行业调整体系结构示例。

体系结构示意图

显示使用自主代理 Copilot Studio 进行文档处理的工作流的图表。

代理说明

以下说明创建自治代理:

You are a helpful, polite, document processing agent. You help users process documents and extract valuable information. 
If the user asks about any topic other than document processing, politely decline and offer to help with document-related queries.
When asked to process a document with a specific document processing event ID, extract the information from that document.
When told that a document processing event status of a document changes to Processed, validate the extracted information from the document.
When told that a document processing event status of a document changes to Validated, import the extracted information from the document into the system.
When told that a document processing event status of a document changes to Manual Review, submit the extracted information from the document to manual review.
Ignore other document processing event status changes.

工作流

有两个与代理相关的重要工作流:

  • 文档处理:此工作流解释了代理如何处理文档。
  • 配置:此工作流详细介绍了为自治文档处理设置代理的步骤。

文档处理流程

文档处理流的工作方式类似于状态机。 代理充当业务流程协调程序,当前状态存储在中的 Dataverse“数据处理事件”表中。 该过程的工作原理如下:

  1. 触发器标识新文档何时准备好进行处理。 这显示在体系结构图的“数据源 区域中。 代理流 扫描 Outlook 邮箱或 SharePoint 文件夹等目录。 将文档添加到任何目录时,代理流会将该文档存储在状态为“新建”的“数据处理事件”表中,并向代理发送一条消息: Process the document: {ID}.

    • 在“数据处理事件”表格中添加文档或更新状态的所有尝试都遵循中的 Default 配置。 Power Automate 对于返回状态 408、429 或 5xx 的请求以及任何连接异常,流最多重试四次,间隔为指数。
    • 如果所有重试尝试都失败,请调试并检查未运行的作的运行历史记录 Power Automate 。
  2. 代理指令告诉它在被要求处理文档时调用 Document Extraction 作。 作将运行,并传递消息 ID。

  3. Document Extraction 作是一个代理流,它接收数据处理事件 ID 作为输入,并且:

    • 获取存储在其中 Dataverse的文档。
    • 将其发送到正在处理的 AI Builder AI 提示。 此提示使用 .o 来 GPT 4:
      • 从文档中提取所有相关信息。
      • 将此信息格式化为 JSON 文档。
    • 将提取的信息存储在同一“数据处理事件”行中。
    • 将文档的状态更新为 Processed
  4. Dataverse 触发器(代理流)监视数据处理事件中所有文档的状态,并在状态更改时通知代理,并显示以下消息: The status of document {ID} changed to {Status}

  5. 代理指令告诉它在文档的状态更改为“已 Document Validation 处理”时 调用作。 作将运行,并传递消息 ID。

  6. Document Validation 作是一个代理流,它接收数据处理事件 ID 作为输入,并且:

    • 获取存储在中 Dataverse提取的数据。
    • 将其发送到 AI 提示 AI Builder 进行验证。 此提示使用 .o 来 GPT 4:
      • 根据格式规则检查提取的 JSON,例如 dates must be in X format
      • 根据业务规则检查提取的 JSON,例如 the author of the document must be in the Accounts table in Dataverse
    • 如果验证成功,它会将文档的状态更新为 Validated
    • 否则,它会将文档的状态更新为 Manual Review
  7. 如果文档的状态更改为, Validated则说明会告诉代理调用作 Document Export 。 作将运行,并传递消息 ID。

  8. 文档导出作是一个代理流,它接收数据处理事件 ID 作为输入,并且:

    • 获取存储在中 Dataverse提取的数据。
    • 将此数据导出到目标系统,如中的 Dataverse发票表。
  9. 如果文档的状态更改为, Manual Review则说明会告诉代理调用作 Manual Review 。 作将运行,并传递消息 ID。

  10. Manual Review 作是一个代理流,它接收数据处理事件 ID 作为输入,并且:

    • 获取存储在中 Dataverse提取的数据。
    • 为代理管理员创建审批请求,共享指向验证站应用程序的链接,用户可以在其中编辑提取的数据并手动验证。 此手动验证将单据 Validated的状态设置为。
  11. 手动审核后,如果文档的状态为, Validated则运行步骤 7。

用户还可以使用聊天页面 Copilot Studio 或他们发布代理的任何渠道手动提交文档供代理处理。

当您这样做时:

  • 文档将上载到“数据处理事件”表格中。
  • 代理通知自己导入了新文档。
  • 提取提示将运行,以预览在聊天窗格中导出的内容。
  • 从步骤 2 开始,将按照此流程中的说明处理文档。

配置工作流

代理需要多个配置才能自主运行。 为了简化此作,提供了全面的配置体验。 步骤如下:

  1. 在中安装文档处理代理 Copilot Studio。 代理解决方案具有:
    • “文档处理配置”表。
    • 用于监控的验证站画布应用程序。
    • 代理使用的连接引用(Dataverse, Copilot Studio, PowerApps for Admins)。
    • 启动代理工作流的触发器使用的连接引用(Outlook)。 SharePoint
    • 触发器使用的环境变量。
  2. 启动代理配置向导。 这是安装向导的最后一步 Copilot Studio。 它将指导您完成此流程:
    1. 上传示例文档。
    2. 系统将上传的文档发送到代理的提取提示。
    3. 将显示提取的内容和文档类型。 选择要导出到系统的提取数据的哪些部分。 这将创建一个架构,该架构存储在文档处理配置表中,并在文档导出作期间使用。 您可以进入高级模式来更改文档提取作中使用的 AI 提示以对其进行自定义。
    4. 使用简单的 UI 定义验证规则,该 UI 将规则添加到文档验证作中使用的提示中。 您还可以进入高级模式直接更改 AI 提示。
    5. 出现提示时输入代理管理员的电子邮件地址。 这在创建审批请求时的手动审阅作中使用。 您还可以为审批者添加自定义消息。 此信息保存在解决方案附带的环境变量中。
    6. 从列表中选择文档源。 这些触发器启动文档处理流,通常需要连接引用和一些环境变量(如邮箱名称或文件夹地址),具体取决于您选择的文档源。
    7. 完成配置。 这将在系统中创建一个 Dataverse 包含您之前选择的列的表,并将您在向导中使用的文档导出到此表中。

组件

以下是构建和部署用于文档处理 Copilot Studio的自治代理所涉及的关键组件。

  • Copilot Studio 是无代码或低代码解决方案的一部分 Microsoft Power Platform 。 Copilot Studio 是一种图形化低代码工具,用于创建代理(包括使用代理流构建自动化)以及 Microsoft 365 使用企业数据和方案扩展 Copilot。
  • Power Apps 是无代码或低代码解决方案的一部分 Microsoft Power Platform 。 Power Apps 是一套应用、服务、连接器和数据平台,可为您提供快速开发环境,以便为您的业务构建自定义应用。 使用 Power Apps,快速构建自定义业务应用,这些应用连接到基础数据平台(Microsoft Dataverse)或许多联机和本地数据源(如 SharePoint Microsoft 365 Dynamics 365 和 SQL Server)中的数据。
  • Dataverse 是适用于多代理场景的作数据库。 它为代理提供了一个安全、可扩展的平台来存储状态数据、历史记录和对话数据。 这种集中式存储允许代理交互和共享数据,因此他们可以自主或半自主地执行任务。 Dataverse 还允许代理连接到不同的业务应用程序(如 CRM 系统)中的业务数据并更新,从而使数据在整个组织中保持一致和最新。 借助, Dataverse组织可以管理和治理代理工作流,以实现可靠性、安全性和卓越运营。

方案详细信息

组织使用结构化文档(如表单、发票、收据和身份证件)和非结构化文档(如备忘录、合同和客户反馈请求)。 组织面临的一项关键挑战是自动化文档处理以优化业务流程。 您可以自动执行多个步骤,包括文档收集、分类、提取、验证、转换和导出。 与传统文档处理相比,使用文档处理代理具有许多优势。 文档处理代理作为打包解决方案开箱即用,因此您无需在设置过程中进行耗时的数据标记。 其交互式设计让您可以在人工监督下处理大量文档。

注意事项

这些注意事项实现了架构良好的 Power Platform 支柱,这是一组可提高工作负荷质量的指导原则。 在架构良好的 Microsoft Power Platform 中了解详细信息。

可靠性

文档处理代理旨在使用 Azure 中托管的组件实现 Power Platform 复原、恢复和作。

安全性

文档处理代理旨在通过使用 Azure 中托管的组件来 Power Platform 保护机密性、完整性和数据可用性。 在“数据处理事件”表格中导入的文档仅对系统管理员可见。 除了附加文档外,不会存储其他数据,例如电子邮件正文或主题 Dataverse。 与文档关联的所有与客户相关的信息都存储在“数据处理事件”表的“已处理的数据”列中。 您可以通过查询此列来处理 GDPR 请求。

卓越运营

文档处理代理旨在通过监视和见解改进作,并通过使用 Azure 中托管的组件实现 Power Platform 自动化以提高效率。

性能效率

文档处理代理旨在通过使用 Azure 中托管的组件进行 Power Platform 优化来实现性能。 文档处理代理支持处理最大 20MB 大小的文档。 截至最近的基准测试,处理 2 MB 大小的单个文档大约需要 48 秒。 如果所选文档源具有足够的存储空间,则代理旨在维持 1,000 多个文档的处理持续时间。 有关其他配额和限制,请参阅 限制 - Power Automate

体验优化

文档处理代理是为文档处理用户设计的,通过使用组件实现 Power Platform 简单性和效率。 代理提供可配置的体验来添加文档源,允许可扩展性以添加其他文档源。

负责任 AI

文档处理代理旨在通过使用 Power Platform 组件来实现负责任的 AI 标准,包括 Copilot Studio 专为生成式 AI 功能设计的组件。 了解更多: 负责任的人工智能常见问题解答 Copilot Studio

参与者

Microsoft 维护这篇文章。 以下贡献者撰写了本文。

主要作者:

后续步骤

  • 增强配置流,让用户自定义其导出体验。 例如,添加预生成 Power Platform 的连接器以导出到 SAP 或 Salesforce 等系统,并允许用户自定义架构以适应 SAP 或 Salesforce 表条目。
  • 增强配置流,让用户同时连接到多个文档源,例如 Outlook 和 SharePoint。
  • 通过根据文档类型动态更改导出中使用的架构,让代理同时处理多个文档类型。