首页 > 其他分享 >ChatGPT流式输出实现原理

ChatGPT流式输出实现原理

时间:2023-11-14 16:33:44浏览次数:26  
标签:输出 const res 流式 html text ChatGPT data event

const http = require("http");
const fs = require("fs");

const server = http.createServer((req, res) => {
  if (req.url === "/events") {
    // 设置响应头,指明使用 text/event-stream 类型
    res.writeHead(200, {
      "Content-Type": "text/event-stream",
      "Cache-Control": "no-cache",
      Connection: "keep-alive",
    });

    // 每隔一段时间向客户端发送一个 SSE 事件
    const intervalId = setInterval(() => {
      const data = JSON.stringify({ message: "This is a server-sent event." });
      res.write(`data: ${data}\n\n`);
    }, 1000);

    // 当客户端关闭连接时清除定时器
    req.on("close", () => {
      clearInterval(intervalId);
    });
  } else {
    res.writeHead(200, { "Content-Type": "text/html" });
    // 返回一个包含 SSE 客户端的 HTML 页面
    const html = fs.readFileSync("sse-client.html", "utf8");
    res.end(html);
  }
});

server.listen(8008, () => {
  console.log("Server is running on port 8000");
});
<!DOCTYPE html>
<html>

<head>
    <title>SSE Client</title>
</head>

<body>
    <script>
        const eventSource = new EventSource('/events');
        eventSource.onmessage = function (event) {
            console.log('Received event:', event.data);
        };
    </script>
</body>

</html>

标签:输出,const,res,流式,html,text,ChatGPT,data,event
From: https://www.cnblogs.com/gdluck/p/17831942.html

相关文章

  • ChatGPT、GPT-4 Turbo接口调用
    接口地址https://chat.xutongbao.top/api/light/chat/createChatCompletion请求方式post请求参数model可选值:“gpt-3.5-turbo-1106”、“gpt-3.5-turbo-16k”、“gpt-4”、“gpt-4-1106-preview”。默认值为:“gpt-3.5-turbo-1106”token获取方式:访问:https://chat.xutongbao.to......
  • chatgpt升级啦,训练数据时间更新到2023年4月,支持tools(升级functionCall),128k上下文
     (2023年11月7日)gpt-4-1106-previewhttps://platform.openai.com/docs/models/gpt-4-and-gpt-4-turbo训练数据日期升级到2023年四月上线文增加到128k调用一次chatgpt接口,可以得到多次函数调用 importOpenAIfrom"openai";constopenai=newOpenAI();//Exampledummyfunc......
  • ChatGPT、GPT-4 Turbo接口调用(stream模式)
    接口地址https://chat.xutongbao.top/api/light/chat/createChatCompletion请求方式post请求参数model可选值:“gpt-3.5-turbo-1106”、“gpt-3.5-turbo-16k”、“gpt-4”、“gpt-4-1106-preview”。默认值为:“gpt-3.5-turbo-1106”token获取方式:访问:https://chat.xutongbao.to......
  • 不务正业的再次胡想——chatgpt在“智能辅助编程”外的另一个可能场景"智能论文写作辅
    在chatgpt4出来后震惊了很多人,但是很多人也觉得好像用处不大;可以说chatgpt4确实更加智能了,在语言对话上更加的智能,很多情况下已经很难分辨出这货是个机器人,但是现在这东西好像确实也没有太多的实际应用,或许更多的人用这个是当做“智能搜索引擎”来用的,而我个人却更加喜欢将chatgpt......
  • ChatGPT 实时语音交流, speech-to-text and text-to-speech
    前言如果期望与ChatGPT进行实时的语音交流,可以直接使用ChatGPT的APP就可以了,本文完。......
  • 数据输出
    4.1单个实体类型输出(1)mybatis为java中的数据类型提供了别名,一般都是将数据类型的别名转换为小写,字母小写的数据类型前加划线. 例如:Douboe-->double int-->_int(2)如果返回值为类类型,推荐使用下面一种:<typeAliases><packagename="com.atguigu.pojo"/></typeAliases>此方式......
  • Ubuntu固定网口方法_via.chatgpt
    在Ubuntu系统中,你可以通过编辑网络配置文件来设置固定的网口地址。以下是一种常见的方法:确定网卡名称首先,你需要确定要设置固定地址的网卡名称。你可以使用以下命令列出当前系统中的网卡及其对应的名称:ifconfig-a通常情况下,网卡的名称类似于eth0、eth1或者enp0s3,根......
  • ChatGPT 眼中的程序员
    1你如何看待程序员这个行业程序员这个行业在现代社会扮演着非常重要的角色。作为一个技术驱动的职业,程序员们负责开发、设计和维护软件和应用程序,这些技术改变了我们的生活方式、商业模式和社会互动方式。这个行业有许多积极的方面:创新:程序员通过不断的创新和技术发展推动......
  • (十五)C#编程基础复习——值传递、引用传递、输出传递
    通过前面的学习,我们了解了在调用带有参数的函数时,需要将参数传递给函数。在介绍这几种传递方式之前,我们先来介绍一下形式参数(形参)和实际参数(实参)这两个概念:形式参数:在定义函数阶段参数列表中定义的参数称之为形式参数,简称形参,可以将它看做变量的名称,它没有具体的值,只是用来接收......
  • 文心一言 VS 讯飞星火 VS chatgpt (134)-- 算法导论11.2 6题
    六、用go语言,假设将n个关键字存储到一个大小为m且通过链接法解决冲突的散列表中,同时已知每条链的长度,包括其中最长链的长度L,请描述从散列表的所有关键字中均匀随机地选择某一元素并在O(L·(1+1/a))的期望时间内返回该关键字的过程。文心一言,代码不能运行:在这个问题中,我们需......