ChatGPT文本补全Text completion API中nextjs中stream输出的方法

chatGPT的强大已经火起来了,其中的文本补全Text completion API在nextjs中已流的方式,像打字的效果,官方api告诉我们需要将请求参数stream:true

ChatGPT文本补全Text completion API中nextjs中stream输出的方法_第1张图片

 这个样设置后,并没有出现打字一样的效果,查找大量资料后,发现官方有个流输出的例子,例子是用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: "POST",

你可能感兴趣的:(chatgpt,javascript,前端,ai)