当前位置: 首页 > news >正文

衡水网站建设公司哪家比较好/广州宣布5条优化措施

衡水网站建设公司哪家比较好,广州宣布5条优化措施,网站主体负责人和网站负责人,国外做的好的医疗网站效果图 详细内容和使用说明可以查看我的个人网站文章 把ChatGPT接入我的个人网站 献给有外网服务器的小伙伴 如果你本人已经有一台外网的服务器,并且页拥有一个OpenAI API Key,那么下面就可以参照我的教程来搭建一个自己的ChatGPT。 需要的环境 Cento…

效果图

在这里插入图片描述

详细内容和使用说明可以查看我的个人网站文章 把ChatGPT接入我的个人网站

献给有外网服务器的小伙伴

如果你本人已经有一台外网的服务器,并且页拥有一个OpenAI API Key,那么下面就可以参照我的教程来搭建一个自己的ChatGPT。

需要的环境

  • Centos7(其他服务器也行)
  • nodejs

这里主要用到了node环境,所有的代码也是由JavaScript编写

安装依赖库

首先需要安装OpenAI提供的js库——openai,使用npm安装即可

npm install openai

然后再安装一个用于后面管理js后台运行的库——forever

npm install forever

编写代码

const WebSocket = require('ws')
const {Configuration, OpenAIApi} = require('openai')const wss = new WebSocket.Server({port:8080})
const config = new Configuration({apiKey: 'OPENAI_API_KEY'}); //这里的OPENAI_API_KEY是你自己的keyconst openai = new OpenAIApi(config);const welcomeStr = "Hello,我是胡海龙,这是我基于OpenAI搭建的类似ChatWindow,你可以像使用ChatGPT一样来使用它,如何搭建以及源码可以联系我:hhlworkspace@qq.com";wss.on('connection', ws=>{ws.on('message', async (message)=>{if(message =='[$check$]'){ws.send('[$alive$]')}else{const completion = await openai.createCompletion({model: 'text-davinci-003',prompt: ''+message,max_tokens: 2048,stream: true,user: 'huhailong1121'},{responseType: 'stream'});completion.data.on("data",(data)=>{const lines = data?.toString()?.split("\n").filter((line) => line.trim() !== "");for (const line of lines) {const message = line.replace(/^data: /, "");if (message === "[DONE]") {break; // Stream finished}try {const parsed = JSON.parse(message);ws.send(parsed.choices[0].text)} catch (error) {console.error("Could not JSON parse stream message", message, error);}}})}})
})

上面的代码含义:开启一个Websocket服务,然后接收到用户发送的消息后,使用openai库发起请求,然后把返回的数据推给前端用户,前端用户接收的时候用解析markdown的组件接收就可以。下面主要说一下请求openai的部分

const {Configuration, OpenAIApi} = require('openai')
const config = new Configuration({apiKey: 'OPENAI_API_KEY'});const openai = new OpenAIApi(config);const completion = await openai.createCompletion({model: 'text-davinci-003',prompt: ''+message,max_tokens: 2048,stream: true,user: 'huhailong1121'},{responseType: 'stream'});completion.data.on("data",(data)=>{const lines = data?.toString()?.split("\n").filter((line) => line.trim() !== "");for (const line of lines) {const message = line.replace(/^data: /, "");if (message === "[DONE]") {break; // Stream finished}try {const parsed = JSON.parse(message);ws.send(parsed.choices[0].text)} catch (error) {console.error("Could not JSON parse stream message", message, error);}}})

首先是引入openai库中的 Configuration, OpenAIApi,然后配置apiKey,配置好以后创建请求——openai.createCompletion,注意,这里要使用同步去处理以下,参数的含义:

  • model:使用的模型,目前新的模型是text-davinci-003
  • prompt:用户的提问和需求
  • max_tokens:这个参数决定了能一次返回多少长度的结果,如果不是用stream的话这个设置的小可能会导致结果被截断
  • stream:是否使用流方式返回结果,我这里使用了流方式返回结果,因为这样可以给用户更全的数据,不会截断,而且不会造成长时间阻塞,可以实时的动态的生成结果,给用户的体验更好
  • user:用户标识,这个不设置也可以,还有其他更多的参数可以参考网上的资料

使用流后需要对data进行监听,监听中将返回的流先转为字符串,然后通过换行截取,去掉头部的data字符串后剩余的可以转为一个json对象,其中choices数组里面的text就是我们要的结果,所以将它发送给用户即可。

前端代码相对简单,就是单纯的websocket接收数据,然后渲染,只是样式上需要设计和调整,如果有需要前端代码的小伙伴也可以联系我,无偿分享,联系方式见文章上半部分。

http://www.bjxfkj.com.cn/article/651.html

相关文章:

  • j2ee网站开发参考文献/深圳市住房和建设局官网
  • 网站上面的小图标怎么做的/培训心得体会2000字
  • 推广网站的作用/商丘seo优化
  • 网站关键词做标签/seo分析师
  • 做的比较好的医院网站/百度收录技巧
  • 潍坊市奎文区建设局网站/百度客服电话是多少
  • dw做网站小技巧/长尾关键词网站
  • 网站介绍视频怎么做/营销网课
  • 网站布局优化策略/如何查询网站收录情况
  • 做网站建设哪家效益快/宁波seo网络推广软件系统
  • 怎么介绍自己做的企业网站页面/长春做网络优化的公司
  • 常州做网站哪里好/站长聚集地
  • 内衣网站建立/seo优化交流
  • 过年做那些网站能致富/seo营销优化
  • 江门做公司网站/排名网
  • 天津市建行网站/汕头百度网站排名
  • 网站建设的一般步骤包含哪些/网站seo优化服务商
  • 潍坊公司网站制作/南宁seo网络推广
  • 做网站可以用php/武汉百度seo排名
  • 网站上面关于我们要怎么填写/新媒体运营工作是什么
  • wordpress 主/seo自然排名优化
  • 网站建设 目的 意义 政策/搜狗站长管理平台
  • wordpress百度跟踪/网站点击排名优化
  • 新疆建设兵团安监局网站/软文网站发布平台
  • 抖音seo排名软件/优化营商环境心得体会
  • 大学生做偷拍视频网站/安徽网站推广
  • 阳江做网站的公司/南京网络建站公司
  • 李沧做网站公司/阿里指数查询手机版
  • 中山网站推广优化/产品营销策划方案怎么做
  • 有创意的网站开发/百度服务中心官网