跳到主要内容

流式输出

长回答在完成前毫无反馈,会让聊天界面看起来被阻塞。流式调用会在生成时持续发送事件;SDK 负责事件传输和增量响应处理。

from agents import Runner
from openai.types.responses import ResponseTextDeltaEvent
from iztro_agents import ChatSession, IztroToolEvent, iztro_ziwei_agent

agent = iztro_ziwei_agent()
session = ChatSession(external_user_id="user_42")
result = Runner.run_streamed(agent, "我出生于1988年2月20日早上6点,女性。请给我一份今年的积极运势展望。", session=session)
async for event in result.stream_events():
if event.type == "raw_response_event" and isinstance(event.data, IztroToolEvent):
print(f"\n🔮 iztro computed: {', '.join(event.data.tools)}\n")
elif event.type == "raw_response_event" and isinstance(event.data, ResponseTextDeltaEvent):
print(event.data.delta, end="")

HTTP 对应接口为 POST /v2/platform/sessions/{session_id}/messages/stream,使用 Server-Sent Events。

真实示例:03_streaming_chat.py

下面直接展示中文或英文的真实流式输出,其中也包含实时到达的 iztro computed 工具事件。

源码:examples/03_streaming_chat.py

本次运行使用的 Prompt

我出生于1988年2月20日早上6点,女性。请给我一份今年的积极运势展望。

完整真实输出

正在加载真实输出…