概览
当您在 Agno 中运行代理时,您收到的响应(RunResponse)会包含有关该运行的详细指标。这些指标可帮助您了解资源使用情况(例如令牌使用量和时间)、性能以及模型和工具调用的其他方面。 指标可在多个层面获取:- 每个消息:每条消息(助手、工具等)都有自己的指标。
- 每次工具调用:每次工具执行都有自己的指标。
- 聚合:
RunResponse会聚合运行中所有消息的指标。
指标的位置
RunResponse.metrics: 整个运行的聚合指标,以字典形式表示。ToolExecution.metrics: 每次工具调用的指标。Message.metrics: 每条消息的指标(助手、工具等)。
示例用法
假设您有一个执行某些任务的代理,并且想在运行后分析指标。以下是如何访问和打印指标的方法: 您运行以下代码来创建一个代理并使用以下配置运行它:工具执行指标
本节提供每次工具执行的指标。它包括有关各个工具调用资源使用情况和性能的详细信息。
消息指标
在这里,您可以查看代理每条消息响应的指标。所有“assistant”响应都将具有此类指标,帮助您了解消息级别的性能和资源使用情况。
聚合运行指标
聚合指标提供了整个运行的全面视图。它包括所有消息和工具调用的摘要,让您对代理的整体性能和资源使用情况有一个总体了解。
指标如何聚合
- 每个消息:每条消息(助手、工具等)都有自己的指标对象。
- 运行级别:
RunResponse.metrics是一个字典,其中每个键(例如,input_tokens)映射到运行中所有助手消息的值列表。 - 会话级别:
SessionMetrics(请参阅agent.session_metrics)跨会话中的所有运行聚合指标。
MessageMetrics 参数
注意:并非所有字段都始终存在;具体取决于模型/工具和运行情况。