

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 通过启用代码解释为应用程序生成、运行和测试代码
<a name="agents-code-interpretation"></a>

代码解释可让代理在安全的测试环境中生成和运行应用程序代码并对其进行排除故障。利用代码解释，您可以使用代理的基础模型生成用于实现基本功能的代码，以实施基本功能，同时专注于构建生成式人工智能应用程序。

您可以利用 Amazon Bedrock 中的代码解释执行以下任务：
+ 了解用户对特定任务的请求、生成可执行用户请求的任务的代码、执行代码和提供代码执行的结果。
+ 了解用户的一般问询、生成和运行代码以向用户提供响应。
+ 生成代码以对数据进行分析、可视化和评估。
+ 从用户上传的文件中提取信息、处理信息和回答用户问询。
+ 根据与用户的交互式对话生成代码，以实现快速原型设计。

默认情况下，每个 AWS 账户中每个会话的并发活动代码解释的最大数量为 25。这意味着，在使用代码解释器时，每个 AWS 账户与代理最多可以同时进行 25 个对话。

下面是一些使用案例，说明了代码解释如何通过在 Amazon Bedrock 中生成和运行代码来提供帮助。

1. 分析数据文件（例如 .csv）中的金融交易，确定它们是盈利还是亏损。

1. 将日期格式（如 *2020 年 3 月 14 日*）转换为文件格式（如 .txt 或 .csv）的标准 API 格式 `YYYY-MM-DD`。

1. 在电子表格（XLS）上执行数据分析，计算公司季度/年度收入或人口增长率等指标。

要在 Amazon Bedrock 中使用代码解释，请执行以下步骤：
+ 在构建代理时启用代码解释。启用代码解释后，就可以开始使用了。
+ 通过提供提示，开始在 Amazon Bedrock 中使用代码解释。例如，您可以要求“将 pi 的平方根计算到 127 位”。代码解释将生成并运行 Python 代码以提供响应。
+ 您还可以附加文件。您可以利用文件中的信息来提问以、汇总或分析数据。您可以从计算机或 Amazon S3 存储桶附加文件。

**支持的 区域**：

以下区域支持 Amazon Bedrock 代理的代码解释：


****  

| 区域 | 
| --- | 
| 美国东部（弗吉尼亚北部） | 
| 美国西部（俄勒冈州） | 
| 欧洲地区（法兰克福） | 

**文件支持**

通过代码解释，您可以附加文件，然后使用附加的文件提问，并根据附加的文件内容汇总或分析数据。

您可以附加最多 5 个文件。所有文件的总大小最大可以为 10 MB。
+ **支持的输入文件类型**：CSV、XLS、XLSX、YAML、JSON、DOC、DOCX、HTML、MD、TXT 和 PDF 
+ **支持的输出文件类型**：CSV、XLS、XLSX、YAML、JSON、DOC、DOCX、HTML、MD、TXT、PDF 和 PNG 

# 在 Amazon Bedrock 中启用代码解释
<a name="agents-enable-code-interpretation"></a>

[创建](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-create.html)或[更新](https://docs.aws.amazon.com//bedrock/latest/userguide/agents-manage.html#agents-edit)代理时，您可以在 Amazon Bedrock 控制台中启用代码解释。如果您使用的是 API 或 SDKs，则可以在[创建](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html)或[更新](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html)操作组时启用代码解释。

要了解如何在 Amazon Bedrock 中启用代码解释，请选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

------
#### [ Console ]

**为代理启用代码解释**

1. 如果您尚未进入代理生成器，请执行以下操作：

   1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。AWS 管理控制台然后，在 [https://console.aws.amazon.com/](https://console.aws.amazon.com/bedrock)bedrock 上打开 Amazon Bedrock 控制台。

   1. 从左侧导航窗格中选择**代理**。然后，在**代理**部分选择一个代理。

   1. 选择**在代理生成器中编辑**。

1. 转到**其他设置**部分并将其展开。

1. 对于**代码解释器**，选择**启用**。

1. 确保先选择**保存**再选择**准备**，以便在测试代理之前将所做更改应用于代理。

------
#### [ API ]

要为您的代理启用代码解释，请使用 A [mazon Bedrock 代理构建时终端节点发送[CreateActionGroup](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html)请求（有关请求和响应格式以及字段详情，请参阅链接），并指定以下字](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)段：


****  

| 字段 | 简短描述 | 
| --- | --- | 
| actionGroupName | 操作组的名称 | 
| parentActionGroup签名 | 指定 AMAZON.CodeInterpreter 以允许代理生成和测试代码 | 
| actionGroupState | 指定 ENABLED 以允许代理调用代码解释 | 

下图显示了通过[CreateActionGroup](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_CreateAgentActionGroup.html)请求启用代码解释的必填字段的一般格式。

```
CreateAgentActionGroup:
{
  "actionGroupName": "CodeInterpreterAction",
  "parentActionGroupSignature": "AMAZON.CodeInterpreter",
  "actionGroupState": "ENABLED"
}
```

------

# 在 Amazon Bedrock 中测试代码解释
<a name="agents-test-code-interpretation"></a>

在 Amazon Bedrock 中测试代码解释之前，请确保您的代理已做好准备，以便应用您刚刚所做的更改。

启用代码解释后，当您开始测试代理时，可以选择附加文件并选择希望代码解释如何使用您附加的文件。根据您的应用场景，您可以要求代码解释使用附加文件中的信息来汇总文件内容，并在交互式聊天对话中回答关于文件内容的查询。或者，您可以要求代码解释分析附加文件中的内容，并提供指标和数据可视化报告。

**附加文件**

要了解如何附加文件以供代码解释功能使用，请选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

------
#### [ Console ]

**按照以下步骤附加文件，以供代码解释功能使用：**

1. 如果您尚未进入代理生成器，请执行以下操作：

   1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS 管理控制台 然后，在 [https://console.aws.amazon.com/](https://console.aws.amazon.com/bedrock)bedrock 上打开 Amazon Bedrock 控制台。

   1. 从左侧导航窗格中选择**代理**。然后，在**代理**部分选择一个代理。

   1. 选择**在代理生成器中编辑**

   1. 展开**其他设置**并确认**代码解释器**已启用。

   1. 确保代理已准备就绪。

1. 如果测试窗口未打开，选择**测试**。

1. 在测试窗口的底部，选择回形针图标来附加文件。

1. 在**附加文件**页面中，

   1. 

**对于**选择功能**，指定以下内容：**
      + 如果您要附加文件供代理用于回答查询和汇总内容，请选择**将文件附加到聊天（更快）**。
      + 如果您要附加文件以使用代码解释功能分析内容并提供指标，请选择**将文件附加到代码解释器**。

   1. 

**对于**选择上传方式**，选择要上传文件的位置：**
      + 如果您是从计算机上传文件，请选择**选择文件**，然后选择要附加的文件。
      + 如果您是从 Amazon S3 上传文件，请选择**浏览 S3**，选择文件，单击**选择**，然后选择**添加**。

1. 选择 **附加**。

------
#### [ API ]

要测试代码解释，请使用适用于 [Amazon Bedrock 的代理构建](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)时终端节点发送[InvokeAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_InvokeAgent.html)请求（请求和响应格式以及字段详情参见链接）。

**要附加文件供代理用于回答查询和汇总内容，请指定以下字段：**


****  

| 字段 | 简短描述 | 
| --- | --- | 
| name | 附加文件的名称。 | 
| sourceType | 要附加的文件的位置。如果您的文件位于 Amazon S3 存储桶中，请指定 s3。如果您的文件位于计算机中，请指定 byte\$1content。 | 
| S3Location | 文件所在的 S3 路径。如果 sourceType 是 S3，则此字段为必填字段。 | 
| mediaType | 附加文件的文件类型。 **支持的输入文件类型**：CSV、XLS、XLSX、YAML、JSON、DOC、DOCX、HTML、MD、TXT 和 PDF   | 
| 数据 | Base64 编码字符串。最大文件大小为 10 MB。如果您使用的是 SDK，则只需要提供文件字节内容即可。 AWS SDK 会自动将字符串编码为 base64。 | 
| useCase | 附加文件的使用场景。有效值：CHAT \$1 CODE\$1INTERPRETER | 

 以下示例显示了指定将文件附加到聊天时必须填写的字段的一般格式。

```
                  
"sessionState": {
        "promptSessionAttributes": {
            "string": "string"
        },
        "sessionAttributes": {
            "string": "string"
        },
        "files": [ 
            {
                "name": "banking_data", 
                "source": { 
                    "sourceType": "S3", 
                    "s3Location": 
                        "uri": "s3Uri" 
                    }
                },
                "useCase": "CHAT" 
            },
            {
                "name": "housing_stats.csv", 
                "source": { 
                    "sourceType": "BYTE_CONTENT", 
                    "byteContent": {
                        "mediaType": "text/csv", 
                        "data": "file byte content"
                    }
                },
                "useCase": "CHAT"
            }
        ]
    }
```

以下示例显示了指定附加用于代码解释的文件时必须填写的字段的一般格式。

```
"sessionState": {
        "promptSessionAttributes": {
            "string": "string"
        },
        "sessionAttributes": {
            "string": "string"
        },
        "files": [ 
            {
                "name": "banking_data", 
                "source": { 
                    "sourceType": "S3",
                    "s3Location": {
                        "uri": "s3Uri" 
                    }
                },
                "useCase": "CODE_INTERPRETER" 
            },
            {
                "name": "housing_stats.csv", 
                "source": { 
                    "sourceType": "BYTE_CONTENT", 
                    "byteContent": {
             "mediaType": "text/csv", 
             "data": "file byte content" 
                    }
                },
                "useCase": "CODE_INTERPRETER"
            }
        ]
    }
```

------

# 在 Amazon Bedrock 中禁用代码解释
<a name="agents-disable-code-interpretation"></a>

您可以随时在 Amazon Bedrock 中禁用代码解释。

要了解如何禁用代码解释，请选择与您的首选方法对应的选项卡，然后按照以下步骤操作：

------
#### [ Console ]

**禁用代码解释**

1. 使用有权使用 Amazon Bedrock 控制台的 IAM 身份登录。 AWS 管理控制台 然后，在 [https://console.aws.amazon.com/](https://console.aws.amazon.com/bedrock)bedrock 上打开 Amazon Bedrock 控制台。

1. 从左侧导航窗格中选择**代理**。然后，在**代理**部分选择一个代理。

1. 选择**在代理生成器中编辑**。

1. 展开**其他设置**部分，为**代码解释器**选择**禁用**。

1. 选择页面顶部的**准备**。然后选择**保存**，将更改保存到代理。

------
#### [ API ]

要禁用代码解释，请使用 [Amazon Bedrock 代理构建时终端节点发送[UpdateAgentActionGroup](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_UpdateAgentActionGroup.html)请求（有关请求和响应格式以及字段详情，请参阅链接），并指定以下字](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)段：


****  

| 字段 | 简短描述 | 
| --- | --- | 
| actionGroupName | 操作组的名称 | 
| parentActionGroup签名 | 指定 AMAZON.CodeInterpreter 以禁用代码解释器 | 
| actionGroupState | 指定 DISABLED 以禁用代码解释器 | 

以下示例显示了用于指定禁用代码解释时必填字段的一般格式。

```
UpdateAgentActionGroup:
{
  "actionGroupName": "CodeInterpreterAction",
  "parentActionGroupSignature": "AMAZON.CodeInterpreter",
  "actionGroupState": "DISABLED"
}
```

------

为代理禁用代码解释后，请务必使用适用于 A [mazon Bedrock 的代理构建](https://docs.aws.amazon.com/general/latest/gr/bedrock.html#bra-bt)时终端节点发送[PrepareAgent](https://docs.aws.amazon.com//bedrock/latest/APIReference/API_agent_PrepareAgent.html)请求（有关请求和响应格式以及字段详情，请参阅链接）。