构建聊天机器人
使用当前 Agent SDK 的 query 接口构建具备记忆、工具和流式输出能力的聊天机器人。
最小实现
from isa_agent_sdk import query, ISAAgentOptions
options = ISAAgentOptions(
model="gpt-4o-mini",
allowed_tools=["web_search", "read_file"],
session_id="chat-session-001",
)
async for message in query("你好!请介绍一下你自己。", options=options):
if message.is_text:
print(message.content, end="", flush=True)
elif message.is_tool_use:
print(f"\n[使用工具:{message.tool_name}]")query 会返回 AgentMessage 流。需要完整文本时,可以使用 ask:
from isa_agent_sdk import ask
answer = await ask("法国的首都是什么?")
print(answer)继续对话
通过同一个 session_id 让 Agent 恢复已有会话;需要从检查点继续执行时,请参阅检查点和人在回路。
Agent(...).run() / Agent(...).stream() 仍是当前 SDK 的公共高阶封装;本示例使用底层 query,便于直接处理工具事件和流式消息。