Team.run()
函数会运行团队并生成响应,响应形式可以是一个 TeamRunResponse
对象,也可以是一系列的 TeamRunResponseEvent
对象。
我们的许多示例都使用了 team.print_response()
,这是一个在终端打印响应的辅助工具。它底层调用的是 team.run()
。
以下是运行团队的方法。响应会被捕获在 response
和 response_stream
变量中。
流式传输中间步骤
在团队执行过程中,会发生多个事件,我们实时提供这些事件以增强团队的透明度。 您可以通过设置stream_intermediate_steps=True
来启用中间步骤的流式传输。
处理事件
您可以通过迭代响应流来处理到达的事件:当团队成员正在执行时,团队成员事件会在团队执行期间产生。您可以通过设置
stream_member_events=False
来禁用此功能。存储事件
您可以将运行期间发生的所有事件存储在RunResponse
对象上。
TeamRunResponseContentEvent
和 RunResponseContentEvent
事件不会被存储。您可以通过设置 events_to_skip
参数来修改要跳过的事件。
例如:
事件类型
根据团队的配置,Team.run()
和 Team.arun()
函数会发送以下事件:
核心事件
Event Type | Description |
---|---|
TeamRunStarted | 指示运行开始 |
TeamRunResponseContent | 以单个块形式包含模型的响应文本 |
TeamRunCompleted | 表示运行成功完成 |
TeamRunError | 指示在运行期间发生错误 |
TeamRunCancelled | 表示运行已被取消 |
工具事件
Event Type | Description |
---|---|
TeamToolCallStarted | 指示工具调用开始 |
TeamToolCallCompleted | 表示工具调用完成,包括工具调用结果 |
推理事件
Event Type | Description |
---|---|
TeamReasoningStarted | 指示代理的推理过程开始 |
TeamReasoningStep | 包含推理过程中的单个步骤 |
TeamReasoningCompleted | 表示推理过程完成 |
内存事件
Event Type | Description |
---|---|
TeamMemoryUpdateStarted | 指示代理正在更新其内存 |
TeamMemoryUpdateCompleted | 表示内存更新完成 |