在 Amazon Bedrock 中创建代理 - Amazon Bedrock

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

在 Amazon Bedrock 中创建代理

要使用 Amazon Bedrock 创建代理,您需要设置以下组件:

  • 代理的配置,它定义了代理的用途,并指明了代理用于生成提示和响应的基础模型 (FM)。

  • 以下至少一项:

    • 定义代理要执行的操作的操作组。

    • 数据源知识库,通过允许搜索和查询来增强代理的生成能力。

您可以最低限度地创建一个只有名称的代理。要准备代理以便对其进行测试部署,必须对以下组件进行最低限度的配置:

配置 描述
代理资源角色 有权在代理上调用 API 操作的服务角色的 ARN
基础模型 (FM) 供代理调用以执行编排的 FM
说明 描述代理应该做什么以及如何与用户互动的自然语言

您还应该为代理配置至少一个操作组或知识库。如果您准备的代理没有操作组或知识库,它将仅根据 FM、说明和基本提示模板返回响应。

要了解如何创建代理,请选择与您选择的方法相对应的选项卡,然后按照步骤操作。

Console
创建一个代理
  1. AWS Management Console 使用具有 Amazon Bedrock 权限的 IAM 角色登录,然后通过 https://console.aws.amazon.com/bedrock/ 打开亚马逊 Bedrock 控制台。

  2. 从左侧导航窗格中选择 “代理”。

  3. 在 “代理” 部分中,选择创建代理

  4. (可选)更改自动生成的代理名称,并为其提供可选的描述

  5. 选择创建。您的代理已创建,您将被带到新创建的代理的代理生成器,您可以在其中配置代理。

  6. 您可以继续执行以下步骤来配置代理或稍后返回代理生成器。

配置您的代理
  1. 如果您尚未使用代理生成器,请执行以下操作:

    1. AWS Management Console 使用具有 Amazon Bedrock 权限的 IAM 角色登录,然后通过 https://console.aws.amazon.com/bedrock/ 打开亚马逊 Bedrock 控制台。

    2. 从左侧导航窗格中选择 “代理”。然后,在 “代理” 部分中选择一个代理

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

  2. 代理详细信息部分,您可以设置以下配置:

    1. 编辑代理名称代理描述

    2. 对于代理资源角色,请选择以下选项之一:

      • 创建和使用新的服务角色 — 让 Amazon Bedrock 代表您创建服务角色并设置所需的权限。

      • 使用现有的服务角色-使用您之前设置的自定义角色

    3. 在 Select model 中,选择一个 FM 供您的代理在编排期间调用。

    4. 代理说明中,输入详细信息以告知代理应该做什么以及如何与用户交互。这些指令取代了编排提示模板中的 $instructions$ 占位符。以下是说明示例:

      You are an office assistant in an insurance agency. You are friendly and polite. You help with managing insurance claims and coordinating pending paperwork.
    5. 如果展开其他设置,则可以修改以下配置:

      用户输入-选择是否允许代理在用户没有足够信息时向其请求更多信息。

      • 如果您选择 “启用”,则如果代理需要在操作组中调用 API,但没有足够的信息来完成 API 请求,则会返回观测值,重新提示用户输入更多信息。

      • 如果您选择 “已禁用”,则代理不会要求用户提供其他详细信息,而是通知用户它没有足够的信息来完成任务。

      • KMS 密钥选择-(可选)默认情况下,AWS 使用 AWS 托管密钥加密代理资源。要使用您自己的客户托管密钥加密您的代理,请在 KMS 密钥选择部分中选择自定义加密设置(高级)。要创建新密钥,请选择创建 AWS KMS 密钥,然后刷新此窗口。要使用现有密钥,请为选择 AWS KMS 密钥选择一个密钥

      • 空闲会话超时-默认情况下,如果用户在与 Amazon Bedrock 代理的会话中有 30 分钟没有响应,则该代理将不再维护对话历史记录。对话历史记录既可用于恢复交互,也可用于根据对话的上下文来增强回应。要更改此默认时间长度,请在 “会话超时” 字段中输入一个数字,然后选择一个时间单位。

    6. IAM 权限部分,对于代理资源角色,选择一个服务角色。要让 Amazon Bedrock 代表您创建服务角色,请选择创建并使用新的服务角色。要使用之前创建的自定义角色,请选择使用现有服务角色

      注意

      Amazon Bedrock 为您创建的服务角色不包括预览版功能的权限。要使用这些功能,请为服务角色授予正确的权限

    7. (可选)默认情况下, AWS 使用加密代理资源。 AWS 托管式密钥要使用您自己的客户托管密钥加密您的代理,请在 KMS 密钥选择部分中选择自定义加密设置(高级)。要创建新密钥,请选择创建 AWS KMS 密钥,然后刷新此窗口。要使用现有密钥,请为 “选择密钥” 选择一个 AWS KMS 密钥

    8. (可选)要将标签与此代理关联,请在 “标签-可选” 部分中,选择 “添加新标签” 并提供键值对。

    9. 设置完代理配置后,选择 “下一步”。

  3. 操作组部分,您可以选择添加将操作组添加到您的代理中。有关设置操作组的更多信息,请参阅为 Amazon Bedrock 代理创建行动组。要了解如何向代理添加操作组,请参阅在 Amazon Bedrock 中向你的代理添加一个行动组

  4. 知识库部分,您可以选择添加以将知识组与您的代理相关联。有关设置知识库的更多信息,请参阅Amazon Bedrock 知识库。要了解如何将知识库与您的代理相关联,请参阅将知识库与 Amazon Bedrock 代理关联

  5. Guardrails 详细信息部分,您可以选择 “编辑”,将护栏与您的代理相关联,以屏蔽和过滤掉有害内容。从 “选择护栏” 下的下拉菜单中选择要使用的护栏,然后在 “护栏版本” 下选择要使用的版本。您可以选择 “查看” 以查看您的护栏设置。有关更多信息,请参阅 Amazon Bedrock 的护栏

  6. 在 “高级提示” 部分,您可以选择 “编辑” 以自定义您的代理在编排的每个步骤中发送到 FM 的提示。有关可用于自定义的提示模板的更多信息,请参阅Amazon Bedrock 中的高级提示。要了解如何配置高级提示,请参阅配置提示模板

  7. 配置完代理后,选择以下选项之一:

    • 要留在代理生成器中,请选择保存。然后,您可以准备代理,以便在测试窗口中使用更新的配置对其进行测试。要了解如何测试您的代理,请参阅测试 Amazon Bedrock 代理

    • 要返回代理详细信息页面,请选择保存并退出

API

要创建代理,请使用适用于 A mazon Bedrock 的代理构建时终端节点发送CreateAgent请求(有关请求和响应格式以及字段详情,请参阅链接)。

参见代码示例

要准备代理并对其进行测试或部署,以便对其进行测试部署,您必须至少包含以下字段(如果您愿意,可以跳过这些配置,稍后通过发送UpdateAgent请求对其进行配置):

字段 应用场景
agentResourceRoleArn 指定有权在代理上调用 API 操作的服务角色的 ARN
基础模型 为代理指定要与之协调的基础模型 (FM)
指令 提供指示以告诉代理该怎么做。在编排提示模板的 $instructions$ 占位符中使用。

以下字段为可选字段:

字段 应用场景
description 描述代理的用途
IdlessionTTL InSeconds 代理结束会话并删除所有存储信息的持续时间。
customerEncryptionKeyArn 用于加密代理资源的 KMS 密钥的 ARN
标签 标签与您的代理关联。
promptOverrideConfiguration 自定义在编排的每个步骤中发送到 FM 的提示
护栏配置 为代理添加护栏。指定护栏的 ID 或 ARN 以及要使用的版本。
clientToken 用于确保 API 请求仅完成一次的标识符。

响应返回一个CreateAgent对象,其中包含有关您新创建的代理的详细信息。如果您的代理创建失败,则响应中的CreateAgent对象会返回一个列表failureReasons和一个列表recommendedActions供您进行故障排除。