delta 流响应
文章目录
- 前言
- ✅ 1. 什么是 delta 流响应?
- ✅ 2. 用于流式对话的好处
- ✅ 3. 和 SSE(Server-Sent Events)的关系
- ✅ 4. 总结
前言
在调用类 ChatGPT 或 OpenRouter 这类大模型 API 时,**“delta 流响应”**是一种 逐步返回内容的方式,用于实现 实时输出、流式生成文字效果。
✅ 1. 什么是 delta 流响应?
“delta” 指的是 “差值” 或 “增量”,代表本次响应新增的 token 内容。
例如,模型输出一句话 你好,世界!
,它不会一次返回全部,而是返回一个个 delta
:
{ "choices": [ { "delta": { "content": "你" } } ] }
{ "choices": [ { "delta": { "content": "好" } } ] }
{ "choices": [ { "delta": { "content": "," } } ] }
{ "choices": [ { "delta": { "content": "世" } } ] }
{ "choices": [ { "delta": { "content": "界" } } ] }
{ "choices": [ { "delta": { "content": "!" } } ] }
{ "choices": [ { "delta": {} } ], "finish_reason": "stop" }
你需要前端代码把这些增量的内容拼接成完整文本。
✅ 2. 用于流式对话的好处
- 流畅:用户能边看边读,体验和人类打字一样
- 响应快:不需要等模型生成完全部内容再返回
✅ 3. 和 SSE(Server-Sent Events)的关系
这种 delta 增量内容,通常是通过 SSE 协议流式发送的,也就是你前面实现的这个:
if (jsonData.choices?.[0]?.delta?.content) {assistantMessage.content += jsonData.choices[0].delta.content;
}
你正在处理的就是 delta 流响应!
✅ 4. 总结
项目 | 内容 |
---|---|
delta 响应 | 一种模型增量返回内容的格式 |
content 字段 | 本次新增的文本 token |
SSE | 一种用于推送 delta 的传输方式 |
作用 | 实现流式输出(比如 ChatGPT 打字效果) |