我想要流一个通过OpenAI的API完成的结果。
文档提到使用服务器发送事件 -它似乎是这个不是从盒子里拿来装瓶的,所以我试图做它的客户端(我知道这暴露了API键)。但是,由于OpenAI API要求它发布,所以它看起来像是与eventSource API不兼容。我尝试通过fetch (使用可读流)来实现它,但是当我试图通过示例转换为JSON时,我得到了以下错误:Uncaught (in promise) SyntaxError: Unexpected token 'd', "data: {"id"... is not valid JSON (我知道这不是有效的JSON)。它似乎是在解析整个结果,而不是每个单独的流。
data: {"id": "cmpl-5l11I1kS2n99uzNiNVpTjHi3kyied", "object": "text_completion", "created": 1661887020, "choices": [{"text": " to", "index": 0, "logprobs": null, "finish_reason": null}], "model": "text-davinci-002"}
data: {"id": "cmpl-5l11I1kS2n99uzNiNVpTjHi3kyied", "object": "text_completion", "created": 1661887020, "choices": [{"text": " AL", "index": 0, "logprobs": null, "finish_reason": null}], "model": "text-davinci-002"}
data: {"id": "cmpl-5l11I1kS2n99uzNiNVpTjHi3kyied", "object": "text_completion", "created": 1661887020, "choices": [{"text": "I", "index": 0, "logprobs": null, "finish_reason": null}], "model": "text-davinci-002"}我会喜欢一些指针或一个简单的代码示例来说明如何做到这一点,因为我已经用头撞了一段时间。谢谢!
发布于 2022-10-28 11:32:59
使用以下代码:
const { Configuration, OpenAIApi } = require("openai");
const configuration = new Configuration({
apiKey: process.env.REACT_APP_APIKEY,// your api key
});
const openai = new OpenAIApi(configuration);
let fetchData = async () => {
await openai
.createCompletion({
model: "text-davinci-002",
prompt: `hello i am searched text`,
max_tokens: 500,
temperature: 0,
})
.then(response => {
console.log(response.data.choices[0].text);
})
.catch(err => console.log(err));
};
fetchData();
您将在object -> data -> choices[0] -> text中接收数据。
https://stackoverflow.com/questions/73547502
复制相似问题