

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

# 步骤 2：创建 Amazon Bedrock 代理
<a name="agent-tutorial-step2"></a>

接下来，您将创建 Amazon Bedrock 代理。在此过程中，您将在 Amazon Bedrock 控制台中设置一个代理，为其配置基础模型，并提供指令，来将其行为定义为友好的聊天机器人，用于返回日期和时间信息。您还将创建一个包含 OpenAPI 架构的操作组，该架构定义了代理可以调用的 API 端点，具体而言是用于获取当前日期和时间的端点。此外，您还需要向代理的 IAM 角色添加一条内联策略，以允许角色调用您的 Lambda 函数。该代理将作为用户与您的 Lambda 函数之间的接口，解读自然语言请求并将其转换为结构化的函数调用，来检索日期和时间信息。

有关更多信息，请参阅 [手动创建和配置代理](agents-create.md)。

**创建 Amazon Bedrock 代理**

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

1. 请确保您所在的AWS[地区](https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/select-region.html)支持 Amazon Bedrock [代理](agents-supported.md)。

1. 在导航窗格中的**构建器工具**下，选择**代理**。

1. 选择 **Create agent (创建代理)**。

1. 对于**名称**，输入代理的名称（例如 `MyBedrockAgent`）。

1. （可选）对于**描述**，输入描述。

1. 选择**创建**。此时将打开**代理构建器**窗格。

1. 在**代理详细信息**部分中：
   + 对于**代理资源角色**，选择**创建和使用新的服务角色**。
   + 对于**选择模型**，选择一个模型，例如 Claude 3 Haiku。
   + 在**代理的说明**部分中，输入以下说明。

     ```
     You are a friendly chat bot. You have access to a function called that returns
     information about the current date and time. When responding with date or time,
     please make sure to add the timezone UTC.
     ```

1. 选择**保存**。

1. 选择**操作组**选项卡。

1. 在**操作组**中，选择**添加**。

1. 对于**输入操作组名称**，输入操作组的名称（例如，`TimeActions`）。

1. （可选）对于**描述**，输入操作组的描述。

1. 在**操作组类型**中，选择**使用 API 架构定义**。

1. 在**操作组调用**中，选择**选择现有 Lambda 函数**。

1. 在**选择 Lambda 函数**中，选择您在[第 1 步：创建 Lambda 函数](agent-tutorial-step1.md)中创建的 Lambda 函数的名称。

1. 在**操作组架构**中，选择**通过内嵌架构编辑器定义**。

1. 在**内嵌的 OpenAPI 架构**文本框中，将现有架构替换为以下 OpenAPI YAML 架构：

   ```
   openapi: 3.0.0
   info:
     title: Time API
     version: 1.0.0
     description: API to get the current date and time.
   paths:
     /get-current-date-and-time:
       get:
         summary: Gets the current date and time.
         description: Gets the current date and time.
         operationId: getDateAndTime
         responses:
           '200':
             description: Gets the current date and time.
             content:
               'application/json':
                 schema:
                   type: object
                   properties:
                     date:
                       type: string
                       description: The current date
                     time:
                       type: string
                       description: The current time
   ```

1. 检查您的操作组配置，然后选择**创建**。

1. 选择 **保存** 以保存您的更改。

1. 选择**准备**以准备代理。

1. 选择**保存并退出**，保存您的更改并退出代理构建器。

1. 在**代理概览**部分中的**权限**下，选择 IAM 服务角色。这将在 IAM 控制台中打开角色。

1. 在 IAM 控制台中，选择**权限**选项卡。

1. 选择**添加权限**，然后选择**创建内联策略**。

1. 选择 **JSON**，然后粘贴以下策略。确保 `Resource` 是您的 Lambda 函数的 Amazon 资源名称（ARN）。您已在[第 1 步：创建 Lambda 函数](agent-tutorial-step1.md) 的第 6 步中记下了 ARN。

1. 选择**下一步**。

1. 输入策略的名称（例如，`BedrockAgentLambdaInvoke`）。

1. 选择**创建策略**。