支持的代理框架
Amazon Bedrock AgentCore 评估会评估使用常用代理框架构建的代理。代理以遥测形式发射的内容以及遥测的结构取决于您构建的代理框架和用于记录它的仪器库。
对于每个支持的框架,本节介绍:
-
您可以使用的仪器库。
-
如何对你的经纪人进行检测。
-
生成的跨度和事件记录是什么样子。
-
评估服务如何找到所需的值,例如用户提示、代理响应和工具调用。
AgentCore 评估支持以下框架和工具库。它仅支持这些库的 Python 版本。
| 代理框架 | 仪器库 | 作用域名称 | 建议的版本 |
|---|---|---|---|
|
Strands Agents |
Built-in (斯特兰兹特工 SDK) |
|
最新 |
|
LangGraph |
OpenTelemetry ( |
|
|
|
LangGraph |
OpenInference ( |
|
|
|
OpenAI 代理 |
OpenTelemetry ( |
|
|
|
OpenAI 代理 |
OpenInference ( |
|
|
|
LlamaIndex |
OpenTelemetry ( |
|
|
|
LlamaIndex |
OpenInference ( |
|
|
|
谷歌 ADK |
OpenInference ( |
|
|
|
克劳德特工 SDK |
OpenInference ( |
|
|
范围名称是每个跨度和事件记录上的scope.name字段值。评估服务使用它来确定它是否可以处理跨度。
服务如何读取会话
无论框架如何,评估服务都会根据两个遥测信号重建会话:跨度和事件记录。它按其类型对每个跨度进行分类,然后从中提取内容:
-
从特定@@ 于框架的属性中识别跨度类型。跨度可以是调用代理跨度(运行顶级代理)、执行工具跨度(单个工具调用)或推理跨度(单个模型调用)。
-
从每个跨度的属性或其@@ 相关事件记录中提取相关值。例如,用户提示来自代理输入中的人类(用户角色)消息,代理响应来自代理输出中的 AI(助理角色)消息。
确切的属性名称和内容位置因框架和工具库而异。跨度、事件记录和遥测信号页面解释了跨度和事件记录的结构以及内容所在的位置。每个框架的页面描述了每个支持的框架的属性和示例数据。
设置可观察性
对您的代理进行检测是生成遥测数据的一部分,评估服务可以读取。在端到端评估工作之前,您的代理还必须启用可观察性并将其跨度和事件记录导出到 Amazon。 CloudWatch完成以下步骤:
-
启用 CloudWatch 交易搜索,这是评估的先决条件。请参阅启用 AgentCore 可观测性。
-
根据代理的托管位置为其启用可观察性:
-
有关托管在 Amazon Bedrock AgentCore Runtime 上的代理,请参阅在代理代码中为 AgentCore-hosted 代理启用可观察性。
-
有关托管在亚马逊弹性容器服务 (Amazon ECS)、亚马逊 Elastic Kubernetes Service (Ama AWS zon EKS)、Lambda 或其他环境上的代理,请参阅为托管在外部的代理启用可观察性。 AgentCore
-
样品代理
以下示例显示了托管在 Amazon Bedrock AgentCore Runtime 之外的 Strands 代理,他们使用 ADOT 将遥测数据导出到亚马逊 CloudWatch 。他们专注于可观测性设置,而不是评估 API。这些示例使用 Strands,但同样的托管和遥测导出模式适用于其他支持的框架,例如。 LangGraph
-
亚马逊 ECS:亚马逊 ECS 上的 Strands 代理
。 -
AWS Lambda:Lambda 中的 Strands 代理。 AWS