- 优先启用 `stream=true`,让用户尽快看到内容开始返回。
- 前端先只保留会话态,真正请求仍然建议走你自己的服务端中转。
- 把模型名做成后端可切换配置,而不是写死在前端常量里。
正在准备内容,请稍候。
正在切换页面...
网络较慢时会保留当前状态,直到新页面准备完成。
这页只讲几类常见调用模式怎么组织请求、响应和降级。
重点看 SSE、服务端中转和会话状态。
const response = await fetch("/api/chat", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
model: "your_model_id_from_/v1/models",
messages: [{ role: "user", content: input }],
stream: true,
stream_options: { include_usage: true }
}),
});批量生成时先控制模板、长度和重试。
先保证字段可校验、格式固定、失败可兜底。
{
"model": "your_model_id_from_/v1/models",
"messages": [
{ "role": "system", "content": "请严格返回 JSON。" },
{ "role": "user", "content": "提取标题、优先级和摘要。" }
],
"response_format": { "type": "json_object" },
"temperature": 0.2
}面向真实用户沟通时,应优先设计降级路径、知识来源边界和失败提示。