| 首页 | 归档 | 分类 | 标签 | 关于 |
核心概念:streamText 不只是“流式返回一段文本”的接口。当传入 tools 和 stopWhen 后,它会负责驱动一个多步 Agent Loop:反复调用模型、执行工具、把工具结果交回模型,直到模型完成回答或命中停止条件。
一次模型调用称为一个 step。模型在当前 step 可以直接生成文本,也可以产生 tool-call。如果产生工具调用,SDK 会执行工具,把 tool-result 加入本轮消息上下文,再根据 stopWhen 判断进入下一个 step 还是结束。因此一轮用户请求可能包含 Step 0 → Step 1 → Step 2 → ... 多次模型调用。
streamText 会持续输出文本、推理、来源、文件、工具调用、工具结果、step 结束和最终结束等事件;生命周期回调则用于观察生成开始、模型请求、工具执行和 step 完成等时机。SDK 负责本轮循环,应用负责消费事件、更新界面、审批、重试、保存消息与文件,以及下一轮上下文恢复。
先看总览掌握主流程,再按需查看下面 4 张子流程图。
1 | flowchart TB |
身份认证:有效的 API Key(放在 Authorization 头里)。
模型标识:要调用的模型名(例如某个 GPT 模型)。
输入内容:给模型的文本输入(常见是 messages 或 input)。
输出内容:模型生成的文本输出(通常在 response 的 choices 字段里)。