Skip to main content
Agent.run() 函数运行 agent 并生成响应,响应可以是一个 RunResponse 对象,也可以是 RunResponse 对象流。 我们的许多示例都使用了 agent.print_response(),这是一个用于在终端中打印响应的辅助工具。它底层调用的是 agent.run()

运行你的 Agent

以下是运行 agent 的方法。响应会捕获在 response 变量中。

RunResponse

在不使用流式传输时,Agent.run() 函数会返回一个 RunResponse 对象。它具有以下属性:
理解指标有关指标如何收集和使用的详细说明,请参阅 指标文档
请参阅 RunResponse 文档中的详细说明。

流式响应

要启用流式传输,请在调用 run() 时设置 stream=True。这将返回一个 RunResponseEvent 对象迭代器,而不是单个响应。
agno 版本 1.6.0 开始,Agent.run() 函数返回的是 RunResponseEvent 的迭代器,而不是 RunResponse 对象。

流式传输中间步骤

为了获得更详细的流式输出,可以通过设置 stream_intermediate_steps=True 来启用中间步骤。这将提供关于 agent 内部过程的实时更新。

处理事件

您可以通过迭代响应流来处理即将到来的事件:
您可以在我们的 Playground 中看到此行为的实际应用。

存储事件

您可以将运行过程中发生的所有事件存储在 RunResponse 对象上。
默认情况下不存储 RunResponseContentEvent 事件。您可以通过设置 events_to_skip 参数来修改要跳过的事件。 例如:

事件类型

根据 agent 的配置,以下事件会由 Agent.run()Agent.arun() 函数生成:

核心事件

控制流事件

工具事件

推理事件

记忆事件

请参阅 RunResponseEvent 文档中的详细说明。