用 59API 流式接入 Claude 和 GPT:OpenAI SDK 实战
为什么要做流式输出
Claude 和 GPT 的流式响应,核心价值是“边生成边展示”。对聊天机器人、代码助手、长文本总结尤其重要:用户能立刻看到首 token,体感更快,也更容易在生成中途打断或继续追问。对于开发者来说,只要底层接口支持 SSE 或 chunk 传输,前端就能把内容逐段渲染出来。
如果你已经在用 OpenAI SDK,接入 59API 会非常省事:只要把 base URL 改成 https://api.59api.com,就能用同一套代码流式调用 Claude 和 GPT。59API 走的是原生官方质量模型,不做降级,而且按量计费,适合先小流量验证,再逐步放大。
Python:一份最小可跑通的流式示例
先安装 SDK,然后把 API Key 配好。下面这段代码演示了如何实时打印 Claude 或 GPT 的返回内容。
from openai import OpenAI
client = OpenAI(api_key='你的59API_KEY', base_url='https://api.59api.com')
stream = client.chat.completions.create(
model='claude-sonnet',
messages=[
{'role': 'user', 'content': '请用三点说明流式输出的优势'}
],
stream=True
)
for chunk in stream:
text = chunk.choices[0].delta.content or ''
print(text, end='', flush=True)
这段代码有两个关键点:第一,stream=True 必须开启;第二,读取的是 delta.content,它可能为空,所以要做兜底。无论你换成 GPT 还是 Claude,只要 model 名称对应,调用方式都一致。
Node.js:前端或 BFF 常用写法
如果你的服务端是 Node.js,可以直接用 async iterator 消费流。很多实时聊天页面、Next.js API Route 都是这么接的。
import OpenAI from 'openai';
const client = new OpenAI({ apiKey: '你的59API_KEY', baseURL: 'https://api.59api.com' });
const stream = await client.chat.completions.create({
model: 'gpt-4o-mini',
messages: [{ role: 'user', content: '生成一段 100 字的产品简介' }],
stream: true
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || '');
}
如果你要把结果转成网页上的实时气泡,只需把每次收到的文本追加到响应体或 WebSocket 消息里即可。对于 SSE 场景,也可以原样转发 59API 的分片数据,前端监听 message 事件就能逐字显示。
实战建议:让流式更稳定、更省钱
- 优先用流式做长回答:长文、翻译、代码解释都更适合边出边看。
- 忽略空 chunk:模型经常先发控制帧,真正内容可能晚一拍到。
- 保留原始消息上下文:不要因为流式就改写对话结构,否则上下文容易乱。
- 先小量测试再放量:59API 按量计费,价格很适合做灰度验证;如果你有推荐场景,还能吃到返利。
- 统一 SDK 层:同一套 OpenAI SDK 代码就能同时跑 Claude 和 GPT,后续迁移成本很低,Claude Code、Codex 这类工具链也更容易对接。
结论
如果你的目标是尽快把 Claude 和 GPT 的流式输出接到产品里,59API 是一个很实际的选择:接入方式简单、成本低、模型质量保持官方原生水准,而且兼容现有 OpenAI SDK 工作流。你只需要改 base URL、填好 Key,就能开始做实时聊天、代码助手和内容生成。想先把 Demo 跑起来的话,可以注册一个 59API 账号,先用小额度验证你的流式链路,再决定是否扩容。
शुरू करने के लिए तैयार?
कुछ ही मिनटों में Claude और GPT जोड़ें, सबसे कम कीमत पर। साइन अप करें और API key पाएं।
मुफ़्त साइन अप