chatGPT的强大已经火起来了,其中的文本补全Text completion API在nextjs中已流的方式,像打字的效果,官方api告诉我们需要将请求参数stream:true
这个样设置后,并没有出现打字一样的效果,查找大量资料后,发现官方有个流输出的例子,例子是用typescript写的,我把改成js写法如下:
//OpenAIStream.js
import {
createParser,
ParsedEvent,
ReconnectInterval,
} from "eventsource-parser";
export async function OpenAIStream(payload) {
const encoder = new TextEncoder();
const decoder = new TextDecoder();
let counter = 0;
const response = await fetch("https://api.openai.com/v1/completions", {
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
},
method: "