求助一个 next.js 和 7890 端口相关的问题

查看 52|回复 1
作者:mundane   
我照着 b 站视频学习 next.js ,模仿着写一个 chatgpt 项目,链接是 https://www.bilibili.com/video/BV1tw411F7ua
但是我在对话框输入内容后报错。截图如下

前端界面:

控制台:

代码是这样的
import { sleep } from "@/common/util";
import client from "@/lib/openai";
import { MessageRequestBody } from "@/types/chat";
import { NextRequest } from "next/server";
export async function POST(request: NextRequest) {
  const { messages, model } = (await request.json()) as MessageRequestBody;
  const newMessages = messages.map((message) => {
    return {
      role: message.role,
      content: message.content,
    };
  });
  const encoder = new TextEncoder();
  const stream = new ReadableStream({
    async start(controller) {
      const events = await client.streamChatCompletions(
        model,
        [
          {
            role: "system",
            content:
              "You are ChatGPT, a large language model trained by OpenAI. Follow the user's instructions carefully. Respond using markdown.",
          },
          ...newMessages,
        ],
        {
          maxTokens: 1024,
        }
      );
      for await (const event of events) {
        for (const choice of event.choices) {
          const delta = choice.delta?.content;
          if (delta) {
            controller.enqueue(encoder.encode(delta));
          }
        }
      }
      controller.close();
    },
  });
  return new Response(stream);
}
本地 7890 是我的 clash 代理软件的端口,但是我把 clash 禁用系统代理也没用,关了也没用,重启电脑也没用。已经找了好久也没找到原因。求一个大神帮助我,成功解决可以给个小红包,绝不食言。

const, import, delta, await

Richardon   
考虑一下 Hyper-V 端口占用的可能性
您需要登录后才可以回帖 登录 | 立即注册

返回顶部