OpenAI Responses stream ended before a terminal response event
错误信息
OpenAI Responses stream ended before a terminal response event
AI 解决方案
原文:OpenAI Responses stream ended before a terminal response event
译文:OpenAI Responses 流在收到终端响应事件之前结束
🎯 原因分析
该错误表明在使用 OpenAI Responses API 进行流式请求时,连接在收到表示正常结束的终端事件(如
response.completed)之前就中断了。常见原因包括:网络连接不稳定、请求超时、流被意外关闭或服务器端异常终止连接。💡 解决方案
确保在流式请求中正确处理所有可能的事件类型,并在出现异常时进行重试或错误处理:
import OpenAI from 'openai';
const client = new OpenAI();
try {
const stream = await client.responses.stream({
model: 'gpt-4o',
input: 'Hello, how are you?'
});
if (stream) {
for await (const event of stream) {
if (event.type === 'response.completed') {
console.log('Response finished successfully');
// 处理最终响应
} else {
// 处理其他事件类型
console.log(event.type, event);
}
}
} else {
// 处理流未正常返回的情况
console.error('Stream ended unexpectedly');
}
} catch (error) {
console.error('Request failed:', error);
// 可在此添加重试逻辑
}