使用代码解释器生成和执行 Python 代码

Microsoft Copilot Studio 中的代码解释器和提示生成器提示允许制作者构建以下 AI 代理:

  • 执行 Python 代码以用于数据分析、处理 Word、Excel、PowerPoint 和 PDF 文件以及可视化效果
  • 使用语言模型进行生成响应

此功能专为开发人员、业务分析师和低代码制造商定制。 代码生成和执行与 Copilot Studio 生态系统无缝集成,以创建功能强大的 AI 驱动解决方案。

开发人员应阅读 面向开发人员的代码解释器 并查看 代码解释器 Power Apps 组件框架(PCF)组件示例 ,以了解他们如何使用 Dataverse Predict 消息调用提示并处理返回的响应。

要求

代码解释器功能概览

代码解释器允许代理为高级任务编写和执行 Python 代码。 用例包括:

  • Excel 文件处理:在工作簿中创建、复制和更新 Excel 工作表、读取 StyleName、应用 StyleName、跨单元格复制格式、跨单元格复制和更新公式等。
  • Word 和 PowerPoint 文件处理。
  • PDF 文件处理:创建和复制 PDF 文件、读取表和文本段落。
  • Dataverse 表格数据的处理。
  • 复杂的数学和统计计算。
  • 数据分析、操作和可视化(例如,图表和图形)。

代码解释器将以下功能添加到提示:

  • 支持在提示中将文件作为输出类型
  • 支持将 Excel 文件作为提示的输入和输出类型

可以通过两种方式创建提示:

  • 在 Power Apps 中的 AI 中心中使用生成自己的提示选项
  • 在 Copilot Studio 中,在智能体级别向智能体添加的提示工具内

有关提示的详细信息,请参阅 提示概述

也可以在 Copilot Studio 中的代理聊天中使用代码解释器。

创建新的空提示符,并为提示打开代码解释器

首先,在 AI Hub 或 Copilot Studio 中创建一个新的空输入框。 然后,在提示设置中打开代码解释器。

在 Power Apps AI Hub 中创建提示并打开代码解释器

可以在 Power Apps 的 AI Hub 中创建新的空提示,并在提示设置中打开代码解释器。 可以查看有关如何编写和配置使用代码解释器的提示的示例,请参阅 提示示例中的代码解释器

  1. 转到 Power Apps

  2. 在左窗格中选择 AI 中心

  3. 选择 提示

    AI 中心中选择提示的截图

  4. 选择“ 生成自己的提示”。

    在 AI 中心选择“生成自己的提示”的屏幕截图。

  5. 请提供你的提示名称。

  6. “说明 ”部分中,选择 “...>设置

    如何打开提示设置的屏幕截图。

  7. “设置” 页上,打开代码解释器。

  8. 关闭设置页以返回到提示编辑器。

打开代码解释器时会创建一个空提示。 接下来,可以编写提示说明并根据需要配置提示。

在代理中以工具的形式创建提示并打开代码解释器

可以在 Copilot Studio 中的代理中创建新的空提示,并为该提示打开代码解释器。 本文稍后将介绍如何编写和配置使用代码解释器的提示。

  1. 在 Copilot Studio 中,转到要打开代码解释器的代理。

  2. 选择 “工具 ”选项卡,然后选择“ 添加工具>新建工具>提示”。

    选择提示工具的屏幕截图。

    嵌入式提示生成器提示创作界面将在 Copilot Studio 中打开。

  3. 在信息栏上选择 ...>设置

    打开提示设置的屏幕截图。

  4. 设置页上,选择启用代码解释器

  5. 关闭设置页以返回到提示编辑器。

打开代码解释器时会创建一个空提示。 接下来,可以编写提示说明并根据需要配置提示。

在提示示例中使用代码解释器

以下示例演示用于处理复杂提示的代码解释器的功能。

这些示例假设你已经:

示例场景 1:代码解释器提示进行事务审核

Contoso 的购买经理定期审核购买交易。 他们收到一份定期 PDF 报告,用于识别高风险供应商,并遵循要求购买超过 10,000 美元的交易订单的策略。 购买经理使用 PDF 审核 Excel 中的交易。 购买经理使用代码解释器的提示来自动执行此审核过程。

编辑和测试事务提示

打开提示编辑器并打开代码解释器后,请按照以下步骤创建提示:

  1. 输入以下提示说明:

    1. You are given:
    -An Excel file <parameter A> with thousands of procurement transactions, including vendor name, invoice amount, PO number, and transaction date.
    -A PDF file <parameter B> listing vendors flagged as "High Risk" in the latest compliance audit.
    
    2. Your tasks:
    -Process the Excel file to identify:
    -Transactions over $10,000 with missing or blank PO numbers.
    -Extract vendor names from the PDF file that are marked "High Risk".
    -Cross-reference the vendor names in Excel with those from the PDF file.
    -Flag transactions that meet either of the following criteria:
      -High-value transaction with missing PO
      -Vendor is classified as High Risk
    -For each flagged transaction:
      -Highlight the row in red
      -Add a comment explaining the issue (for example, "High Risk Vendor" or "PO Missing")
    
    3. Generate a summary report listing:
    -Total flagged transactions
    -Vendor names involved
    -Reasons for flagging
    
    4. Return:
    -The updated Excel file with highlights and comments
    -A summary audit report formatted as PDF
    -A summary of updates made in text
    
  2. 在说明中,将 <parameter A> 替换为包含采购事务的 Excel 文件的文件输入参数。 若要进行更改,请将文本替换为 / 上下文菜单中选择 “图像”或“文档 ”。 提供此参数的名称,例如“采购事务”,并使用预期格式上传包含事务的示例 Excel 文件。

    请确保将事务 ID、供应商名称、发票金额、PO 号和交易日期作为交易文件中的列。 可以使用另一个提示打开代码解释器,根据需要创建此示例 Excel 文件。

  3. 按照相同的步骤将文本 <parameter B> 替换为已上传的供应商风险报告输入 PDF 文档。 可以在 PDF 文件中将供应商名称作为列表。 同样,可以使用另一个提示打开代码解释器,根据需要创建示例 PDF 文件。

  4. 选择“ 测试”。

    几秒钟后,应会看到文本中的摘要输出作为模型响应。

    注释

    可以将默认模型保留为 GPT-4o,或根据需要选择任何其他模型。

  5. “模型响应>输出”下,选择 “文档 ”作为模型响应格式。 模型响应还应显示更新的 Excel 文件,其中包含带标记的事务和 PDF 格式的摘要报表。 可以下载这些文件来验证结果。

    重要

    若要使用不同的文件重新测试,必须更改提示文本并保存。 只需上传或交换示例文件而不修改提示不会触发重新处理。

此示例演示代码解释器的功能,使提示能够使用文件执行复杂方案。

示例方案 2:代码解释器提示创建 Dataverse 表的可视化摘要

此示例演示如何创建启用代码解释器的提示以读取 Dataverse 表中的记录、分析数据以及生成视觉摘要(图表)和文本摘要。

编辑并测试 Dataverse 命令

打开提示编辑器并打开代码解释器后,请按照以下步骤创建提示:

  1. 输入以下提示说明:

    1. You are given:
    - Ticket data that gives the created date/time, first response date/time, and the first response SLA date/time:
    
    2. Your tasks:
    - Create a histogram of the tickets by day of the week created and show the first response SLA status
    - Create insights into trends in the data
    
    3. Return:
    - A graph. Make sure to return the graph as a base64 encoded image
    - A summary of insights
    
  2. 通过链接到相关的 Dataverse 表(例如票证、员工计划)来设置提示。

提示中使用代码解释器的后续步骤

接下来,可以编写提示说明并根据需要配置提示。

有关如何在提示中使用代码解释器的详细示例,请参阅 代码解释器提示示例

提示中代码解释器的最佳实践

  • 使用 Copilot 等其他 AI 工具获取优化提示以启动。
  • 使用带有示例的精确提示(小样本提示)。
  • 指定输出(例如,“返回为 JSON”或“Excel”或“PDF”)。

局限性

  • 不支持分析在单个提示中上传的多个文件。
  • 不支持在单个提示中返回多个文件输出。
  • 系统上不支持在多个轮次中提出有关上传文件的问题。