bounty将在2天后过期。回答此问题可获得+50的声誉奖励。Ibad Ur Rehman正在寻找来自声誉良好来源的答案:我需要尽快解决
我想使用聊天GPT涡轮API直接在React Native(博览会)与逐字逐句流这里是工作的例子没有流
fetch(`https://api.openai.com/v1/chat/completions`, {
body: JSON.stringify({
model: 'gpt-3.5-turbo',
messages: [{ role: 'user', content: 'hello' }],
temperature: 0.3,
max_tokens: 2000,
}),
method: 'POST',
headers: {
'content-type': 'application/json',
Authorization: 'Bearer ' + API_KEY,
},
}).then((response) => {
console.log(response); //If you want to check the full response
if (response.ok) {
response.json().then((json) => {
console.log(json); //If you want to check the response as JSON
console.log(json.choices[0].message.content); //HERE'S THE CHATBOT'S RESPONSE
});
}
});
我可以改变什么来流数据逐字逐句
2条答案
按热度按时间eaf3rand1#
OpenAI API依赖SSE(服务器端事件)将响应流回给您。如果您在API请求中传递stream参数,则当OpenAI计算时,您将收到数据块。这会产生模拟某人键入的实时响应的错觉。
最难弄清楚的部分可能是如何连接你的前端和后端。每次后端收到一个新的块,你都想在前端显示它。
我在Replit上创建了一个简单的NextJs项目来演示。
你需要安装better-sse package
npm install better-sse
服务端API路由文件中
在前端,您现在可以调用此API路由
希望这是有意义的,并帮助其他人与类似的问题。
4c8rllxm2#
访问此GitHub存储库:https://github.com/jonrhall/openai-streaming-hooks。我建议探索这个库,因为它提供了只在客户端运行的React钩子,不需要服务器支持。