测试代理行为并对其进行故障排除 - Amazon Bedrock

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

测试代理行为并对其进行故障排除

创建代理后,您将获得一份工作草稿。工作草稿是代理的一个版本,可用于以迭代方式构建代理。每次对代理进行更改时,工作草稿都会更新。当您对代理的配置感到满意时,可以创建一个版本(即代理的快照)和指向该版本的别名。然后,您可以通过调用别名将代理部署到您的应用程序中。有关更多信息,请参阅 将 Amazon Bedrock 代理部署并集成到您的应用程序中

以下列表描述了如何测试代理:

  • 在 Amazon Bedrock 控制台中,您可以打开侧面的测试窗口,然后将输入内容发送给您的代理进行回复。您可以选择工作草稿或已创建的版本。

  • 在中API,工作草案就是DRAFT版本。您可以通过以下方式向代理发送输入 InvokeAgent使用测试别名TSTALIASID、或指向静态版本的不同别名。

为了帮助解决您的代理的行为,Amazon Bedrock Agents 提供了在与您的代理会话期间查看跟踪的功能。轨迹显示了代理的 step-by-step推理过程。有关跟踪的更多信息,请参阅使用跟踪跟踪代理的 step-by-step推理过程

以下是测试代理的步骤。选择与您选择的方法相对应的选项卡,然后按照以下步骤操作:

Console
测试代理
  1. AWS Management Console 使用具有 Amazon Bedrock 权限的IAM角色登录,然后通过以下网址打开 Amazon Bedrock 控制台。https://console.aws.amazon.com/bedrock/

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

  3. 在 “理” 部分,从代理列表中选择要测试的代理的链接。

  4. 测试” 窗口出现在右侧的窗格中。

    注意

    如果 “测试” 窗口已关闭,则可以通过选择代理详细信息页面顶部的测试或其中的任何页面来重新打开该窗口。

  5. 创建代理后,必须通过以下方式之一进行准备,将其与工作草稿更改一起打包:

    • 在 “测试” 窗口中,选择 “准备”。

    • 在 “工作草稿” 页面中,选择页面顶部的准备

    注意

    每次更新工作草稿时,都必须让代理做好准备,以便将最新更改打包给代理。作为最佳实践,我们建议您始终在工作草稿页面的代理概述部分中查看代理上次准备时间,以确认您正在使用最新的配置测试代理。

  6. 要选择要测试的别名和关联版本,请使用测试窗口顶部的下拉菜单。默认情况下,选择 TestAlias:工作草稿组合。

  7. (可选)要为您的别名选择 “预配置吞吐量”,您选择的测试别名下方的文本将指示 “使用ODT或使用 PT”。要创建预置吞吐量模型,请选择更改。有关更多信息,请参阅 使用 Amazon Bedrock 中的预配置吞吐量增加模型调用容量

  8. 要测试代理,请输入一条消息并选择运行。在等待生成响应时或生成响应之后,您可以选择以下选项:

    • 要查看代理编排流程中每个步骤的详细信息,包括每个步骤的提示、推理配置和代理的推理过程以及其操作组和知识库的使用情况,请选择显示跟踪。跟踪会实时更新,因此您可以在返回响应之前进行查看。要展开或折叠步骤的轨迹,请选择步骤旁边的箭头。有关 “跟踪” 窗口和显示的详细信息的更多信息,请参阅使用跟踪跟踪代理的 step-by-step推理过程

    • 如果代理调用知识库,则响应中包含脚注。要查看包含响应特定部分引用信息的 S3 对象的链接,请选择相关的脚注。

    • 如果您将代理设置为返回控制权,而不是使用 Lambda 函数来处理操作组,则响应将包含预测的操作及其参数。为操作提供API或函数的输出值示例,然后选择 S ub mit 以生成代理响应。有关示例,请参阅下图:

      测试窗口请求,以提供操作的示例输出。

    您可以在 “测试” 窗口中执行以下操作:

    • 要与代理开始新的对话,请选择刷新图标。

    • 要查看 “跟踪” 窗口,请选择展开图标。要关闭 “跟踪” 窗口,请选择缩小图标。

    • 要关闭 “测试” 窗口,请选择向右箭头图标。

您可以启用或禁用操作组和知识库。使用此功能通过评估代理在不同设置下的行为来确定哪些操作组或知识库需要更新,从而对代理进行故障排除。

启用操作组或知识库
  1. AWS Management Console 使用具有 Amazon Bedrock 权限的IAM角色登录,然后通过以下网址打开 Amazon Bedrock 控制台。https://console.aws.amazon.com/bedrock/

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

  3. 在 “理” 部分,从代理列表中选择要测试的代理的链接。

  4. 在代理的详细信息页面上,在工作草稿部分,选择工作草稿的链接。

  5. 在 “操作组” 或 “知识库” 部分,将鼠标悬停在要更改其状态的操作组或知识库的状态上。

  6. 此时将出现一个编辑按钮。选择编辑图标,然后从下拉菜单中选择操作组或知识库是启用还是禁用

  7. 如果操作组已禁用,则代理将不使用该操作组。如果知识库已禁用,则代理将不使用知识库。启用或禁用操作组或知识库,然后使用 “测试” 窗口对代理进行故障排除。

  8. 选择 “准备”,应用您在测试代理之前对代理所做的更改。

API

在首次测试您的代理之前,必须通过发送一封将它与工作草案变更一起打包 PrepareAgent使用 Amazon Bedrock 代理构建时终端节点请求(有关请求和响应格式以及字段详情,请参阅链接)。在请求agentId中包括。更改适用于TSTALIASID别名指向的DRAFT版本。

参见代码示例

注意

每次更新工作草稿时,都必须让代理做好准备,以便将最新更改打包给代理。作为最佳实践,我们建议您发送 GetAgent向适用于 Amazon Bedrock 的代理构建时终端节点请求(有关请求和响应格式以及字段详情,请查看链接),并查看代理验证您是否正在使用最新配置测试代理的preparedAt时间。

要测试您的代理,请发送 InvokeAgent使用适用于 Amazon Bedrock 的代理运行时终端节点进行请求(有关请求和响应格式以及字段详情,请参阅链接)。

注意

AWS CLI 不支持 InvokeAgent.

参见代码示例

请求中存在以下字段:

  • 至少提供以下必填字段:

    字段 简短描述
    agentId 代理人的 ID
    agentAliasId 别名的 ID。TSTALIASID用于调用DRAFT版本
    sessionId 会话的字母数字 ID(2—100 个字符)
    inputText 用户向代理发送的提示
  • 以下字段为可选字段:

    字段 简短描述
    enableTrace 指定TRUE以查看跟踪
    endSession 指定TRUE在此请求之后结束与代理的会话。
    sessionState 包括影响代理行为或代理所附知识库行为的上下文。有关更多信息,请参阅 控制代理会话上下文

响应以事件流的形式返回。每个事件都包含一个chunk,其中包含bytes字段中的部分响应,必须对其进行解码。如果代理查询了知识库,则chunk还包括citations。也可以返回以下对象: