Skip to main content

事件流

@llm_chat 调用返回 AsyncGenerator[ReactOutput, None]@llm_function 的事件流通过 fn.stream(...) 返回。每个产出的项要么是响应(最终输出),要么是事件(生命周期信号)。

ReactOutput

使用类型守卫来区分:

ResponseYield

包含智能体的最终输出:

EventYield

包含一个生命周期事件:

14 种事件类型

循环生命周期

LLM 调用

工具执行

自定义事件

自定义事件由工具通过 ToolEventEmitter 发出——用于流式输出工具结果(例如 PyRepl 的标准输出、shell 输出等)。

便捷过滤器

EventOrigin(分叉路由)

使用 SelfRef 分叉时,事件来自多个智能体。EventOrigin 标识事件来源:
可以利用它将事件路由到不同的 UI 面板(例如主智能体与子智能体)。

常见模式

流式文本输出到终端

进度追踪

事件观察者装饰器

用于跨切面事件处理,无需修改消费逻辑:
API 参考:事件