ChatGPT学习心得一(使用node+react做了一个案例)

项目地址

http://chat.xutongbao.top

项目截图

 

 

 

使用技术栈

node+SQLite+redis+nginx+log4js+express+jenkins+cdn+react+antd+react-scrollbars-custom+iconfont+webpack+postman+axios+redux+immutable+npm+yarn+openai等等

官网

https://openai.com/blog/chatgpt/

官方聊天应用

https://chat.openai.com/chat/79014944-0302-45ff-bd25-073803e37216

官方Javascript沙盒应用

https://platform.openai.com/codex-javascript-sandbox

 官方技术文档

https://platform.openai.com/docs/introduction

 

node调用ChatGPT的API

装包:

yarn add openai

获取API Keys:

https://platform.openai.com/docs/api-reference/introduction

 https://platform.openai.com/account/api-keys

 获取Organization ID:

https://platform.openai.com/account/org-settings 

node代码:

const { Configuration, OpenAIApi } = require('openai')const configuration = new Configuration({organization: 'xxx',apiKey: 'xxx',
})
const openai = new OpenAIApi(configuration)//增加
const chatAdd = async (req, res) => {const {talkId = '',name = '',messageType = '1',message = '',modelType = '1',promptType = '1',} = req.bodyconst uid = uuidv4()const now = Date.now()const talkRedis = await redisClient.get('talk')let talkList = JSON.parse(talkRedis)const resultIndex = talkList.findIndex((item) => item.uid === talkId)if (resultIndex >= 0) {if (message && message.trim() !== '') {const chatRedis = await redisClient.get('chat')let chatList = JSON.parse(chatRedis)chatList = Array.isArray(chatList) ? chatList : []let currentChatList = chatList.filter((item) => item.talkId === talkId).sort((a, b) => a.createTime - b.createTime)let prompt = ''if (promptType === '1') {if (currentChatList.length > 0) {let shotChatList = currentChatListif (currentChatList.length > 10) {shotChatList = currentChatList.slice(currentChatList.length - 10)}shotChatList.forEach((item) => {let { messageType, message } = itemif (messageType === '1') {prompt += `YOU:${message}\n`} else if (messageType === '2') {//message = encodeURIComponent(message)prompt += `${message}\n`}})}prompt += `YOU:${message}\n`} else if (promptType === '2') {if (currentChatList.length > 0) {let shotChatList = currentChatListif (currentChatList.length > 10) {shotChatList = currentChatList.slice(currentChatList.length - 10)}          shotChatList.forEach((item) => {const { messageType, message } = itemif (messageType === '1') {prompt += `\n/* Command: ${message} */\n`} else if (messageType === '2') {//message = encodeURIComponent(message)prompt += `${message}\n`}})}prompt += `<|endoftext|>/* I start with a blank HTML page, and incrementally modif it via <script> injection. Written for Chrome. */\n/* Command: Add "Hello World", by adding an HTML DOM node */\nvar helloWorld = document.createElement('div');\nhelloWorld.innerHTML = 'Hello World';\ndocument.body.appendChild(helloWorld);\n/* Command: Clear the page. */\nwhile (document.body.firstChild) {\n  document.body.removeChild(document.body.firstChild);\n}\n\n/* Command: ${message} */\n`}let completiontry {let hooks = [{value: '1',lable: 'text-davinci-003',},{value: '2',lable: 'code-davinci-002',},]let resultIndex = hooks.findIndex((item) => item.value === modelType)let model = 'text-davinci-003'if (resultIndex >= 0) {model = hooks[resultIndex].lable}const completionRes = await openai.createCompletion({model,// prompt://   'YOU:你好\n你好。很高兴见到你。\nYOU:你叫什么名字\n我叫小爱。很高兴见到你!\nYOU:介绍一下元宵节\n',prompt,max_tokens: 2048,})completion = completionRes.data} catch (error) {res.send({code: 200,data: {isRobotBusy: true,},message: '失败-机器人无应答',})return}if (Array.isArray(completion.choices) &&completion.choices.length > 0 &&completion.choices[0].text) {const values = []let robotMessage = completion.choices[0].textrobotMessage = robotMessage.replace(/\n/, '')//robotMessage = decodeURIComponent(robotMessage)values.push(`('${uid}','${talkId}','${name}','${messageType}','${message}','${now}','${now}','新增')`)const uidForRobot = uuidv4()values.push(`('${uidForRobot}','${talkId}','robot','2','${robotMessage}','${now + 1000}','${now + 1000}','新增')`)const valuesStr = values.join(',')let err = await runSql(`INSERT INTO chat (uid,talkId,name,messageType,message,createTime,updateTime,remarks)VALUES ${valuesStr}`)if (err) {res.send({code: 400,data: {err: err.stack,},message: '添加失败',})} else {await refreshRedis({ tableName: 'chat' })res.send({code: 200,data: {//isRobotBusy: true,prompt,robotMessage,},message: '添加成功',})}} else {res.send({code: 400,data: {},message: '失败-机器人无应答',})}} else {res.send({code: 400,data: {},message: '失败-参数:message',})}} else {res.send({code: 400,data: {},message: '失败-参数:talkId',})}
}

 


chatGPT 是一款由 OpenAI 开发的聊天机器人模型,它能够模拟人类的语言行为,与用户进行自然的交互。它的名称来源于它所使用的技术—— GPT-3架构,即生成式语言模型的第3代。
chatGPT的核心技术是 GPT-3 架构。它通过使用大量的训练数据来模拟人类的语言行为,并通过语法和语义分析,生成人类可以理解的文本。它可以根据上下文和语境,提供准确和恰当的回答,并模拟多种情绪和语气。这样,就可以让用户在与机器交互时,感受到更加真实和自然的对话体验。
chatGPT 的应用场景也很广泛。它可以用于处理多种类型的对话,包括对话机器人、问答系统和客服机器人等。它还可以用于各种自然语言处理任务,比如文本摘要、情感分析和信息提取等。例如,在一个问答系统中,chatGPT可以提供准确的答案,解决用户的疑惑;在一个客服机器人中,它可以帮助用户解决问题,提供更好的服务体验。
在未来,chatGPT 的发展方向将会更加多元。它可能会引入更多的语言模型和深度学习技术,使得它的性能更加优秀。它也可能会拓展到更多的应用场景,为更多的人群提供服务。例如,它可能会进一步拓展到更多的语言领域,支持更多的语言;也可能会更加灵活,可以根据不同的目标来进行微调,适应不同的场景和需求。
此外,chatGPT 也面临着一些风险和挑战。其中,最主要的问题是隐私和安全。由于 chatGPT 涉及到大量的个人信息,因此如果不加以保护,就有可能被黑客攻击和泄露。此外,由于 chatGPT 模拟人类的语言行为,因此如果不加以控制,它也可能会发生一些不良信息的传播。
另一方面,在技术方面,chatGPT 也面临着一些挑战。由于它依赖于深度学习和大规模数据,因此如果数据质量不高或者模型不稳定,它的性能就会受到影响。此外,由于它所处理的是自然语言,因此它也需要面对语言多样性和变化性等问题。
总之,chatGPT 是一款先进的聊天机器人模型,它可以为各种应用场景提供智能化的对话功能。通过它,可以让用户在与机器交互时,感受到更加真实和自然的对话体验。在未来,它将会更加成熟,为人类带来更多的便利。

聪明的你应该已经发现了,这篇文章是由chatAI自己生成的。
 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/6438.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

KeepChatGPT解决ChatGPT经常中断的问题

给大家介绍一款ChatGPT畅聊插件。 ChatGPT的火热&#xff0c;相信很多人都会学习如何使用&#xff0c;来提升工作效率。在使用ChatGPT的过程中&#xff0c;经常出现下面这些情况&#xff0c;导致聊天中断&#xff0c;需要重新刷新进入。 今天介绍一款插件&#xff0c;来自GitH…

ChatGPT讲故事,DALLE-2负责画出来,两AI合作出绘本

本文来源 机器之心 授权 编辑&#xff1a;张倩、袁铭怿 生成式 AI 正在变革内容的生产方式。 在过去的一周&#xff0c;相信大家都被 ChatGPT 刷了屏。这个强大的对话 AI 仅用 5 天时间用户量就突破了 100 万。大家用各种方式测试着它的能力上限&#xff0c;其中一种测试方式就…

复旦发布国内首个类ChatGPT模型!已开放内测申请,代码将于3月发布

Pine 萧箫 发自 凹非寺量子位 | 公众号 QbitAI 没想到&#xff0c;众人加班加点抢“中国版ChatGPT”热度时&#xff0c;首个国内类ChatGPT模型竟然已经发布了&#xff01; 砸出这个重磅消息的&#xff0c;不是紧锣密鼓宣传的BAT大厂&#xff0c;也不是直接出手几亿的投资大V&am…

一周AIGC丨大模型融资火热,天才、名校、大厂争相下场

2023年进入下半年&#xff0c;明显感受到大模型赛道的融资消息变多了。相比以往出现的移动互联网、区块链、元宇宙等热门赛道&#xff0c;大模型的创业者“科技含量”更高了&#xff0c;创始人要么是研究AI的天才&#xff0c;要么是曾在大公司里负责AI业务的高管。大模型&#…

王飞跃|关于 AI for Science问答

作者&#xff5c;王飞跃&#xff0c;缪青海&#xff0c;张军平&#xff0c;郑文博&#xff0c;丁文文 为贯彻落实国家《新一代人工智能发展规划》&#xff0c;科技部会同自然科学基金委近期启动“人工智能驱动的科学研究”&#xff08;AI for Science&#xff09;专项部署工作。…

完犊子!要被封了,坚持还是放弃?看你们的了

「 静静地做自己&#xff0c;让世界发现你 」 ▼ 科技毒瘤君将不定时分享优质工具&#xff0c;大家可以把科技毒瘤君公众号设为★星标&#xff0c;第一时间获取最新推送&#xff0c;以防错过优质内容。 题外话 真正可怕之处 昨天晚上&#xff0c;熬夜给大家分享了一波优质网站&…

Mathemetica 35周年!从天才物理学家到“自大狂”,创始人Wolfram的传奇经历

尚恩 梦晨 发自 凹非寺量子位 | 公众号 QbitAI 头发和显示器都更薄了&#xff0c;但35年前的代码还能运行&#xff01; 著名科学计算软件Mathematica 35周年之际&#xff0c;创始人Stephen Wolfram发布这样一组构图一毛一样的对比照片&#xff0c;并称&#xff1a; 35年前领先于…

从天才物理学家到“自大狂”,创始人Wolfram的传奇经历

尚恩 梦晨 发自 凹非寺转发自量子位 | 公众号 QbitAI 头发和显示器都更薄了&#xff0c;但35年前的代码还能运行&#xff01; 著名科学计算软件Mathematica 35周年之际&#xff0c;创始人Stephen Wolfram发布这样一组构图一毛一样的对比照片&#xff0c;并称&#xff1a; 35年前…

科学观察 | 人工智能驱动的科学研究新范式: 从 AI4S 到智能科学

本文刊载于《中国科学院院刊》2023年第4期 “科学观察” 王飞跃1 缪青海2 1 中国科学院自动化研究所 复杂系统管理与控制国家重点实验室 2 中国科学院大学 人工智能学院 近期&#xff0c;以 ChatGPT 为代表的大模型技术正开启人类社会智能化的新纪元。研究人工智能成功…

AI壁纸号一周增加上千粉丝,轻松变现的成功案例分享

前言 随着AI绘画技术的发展&#xff0c;传统的互联网副业壁纸号在新的技术加持下迎来了第二春。本文将分享一位壁纸号创作者的成功案例&#xff0c;并为大家提供创作门槛和硬件要求等相关信息。 该项目的创作门槛极低&#xff0c;基本上可以由AI完成内容创作。不过&#xff0…

win10系统切换到macOS,开发环境与软件资源,目录清单

文章目录 1、生活2、文书3、开发4、算法5、美术6、科研 1、因为考研自习室或学校图书馆&#xff0c;随身携带游戏本&#xff08;全能本&#xff09;受限于不插电源就不续航和掉性能&#xff0c;以及风扇噪音非常大&#xff0c;以及发热很烫等问题。 2、所以想考虑给主力机换个…

DNSPod十问徐羽:ChatGPT是国产浏览器的背水一战?

本期嘉宾 徐羽 腾讯信息平台与服务线CTO 徐羽&#xff0c;腾讯信息平台与服务线CTO兼总经理、PCG事业群推荐与AI中台负责人。从2009年开始负责手机QQ浏览器从0起步到现在亿级DAU规模的研发工作&#xff0c;在2018年建立和负责PCG的推荐AI中台&#xff0c;在机器学习平台、NLP…

[ChatGPT4编程笔记]php连接数据库增加数据,修改数据,查询数据,删除数据的demo,有html交互页面

以下是一个示例&#xff0c;演示如何使用 PHP 连接 MySQL 数据库&#xff0c;并实现增加数据、修改数据、查询数据和删除数据的功能。该示例结合了 HTML 和 PHP&#xff0c;并提供了交互页面。index.html&#xff08;交互页面&#xff09;&#xff1a;html Copy code <!DOCT…

“谷歌杀手”发明者,科学天才 Wolfram

有一位少年天才&#xff0c;15岁发表首篇粒子物理方面的学术论文。19岁到加州理工学院研究基本粒子物理学&#xff0c;一年内获得理论物理学博士学位。随后他和费曼一起研究起元胞自动机。 他在成为伊利诺斯大学的物理学、数学和计算机科学教授后&#xff0c;不安于在研究所做研…

2023版本ChatGPT是这样评价电影版《灌篮高手》

尽管大多数人觉得《灌篮高手》电影版非常精彩&#xff0c;但是就我而言&#xff0c;我却有些失望。提前五六天我就买好了电影票&#xff0c;期待能用这部电影重燃曾经的激情&#xff0c;怀念我的青春岁月。然而&#xff0c;在观影两个小时之后&#xff0c;我意识到对这部电影抱…

圆石重磅 | ChatGPT并非真正的人工智能?AI拐点是出现新体系 | 武卿对话刘伟

Datawhale干货 分享人&#xff1a;武卿、刘伟博士 “人工智能的飞速发展&#xff0c;为未来增加了诸多不确定性&#xff0c;未来的世界更加不可预测。 ChatGPT问世以来&#xff0c;在全球范围内掀起了一场科技革命&#xff0c;人工智能的飞速发展&#xff0c;为未来增加了诸多…

“递归三要素”寻踪(浅析递归“经典”框架,领略递归优雅秀气;看到有“递归算法优化”的操作,余试剖之)

浅析递归“经典”框架&#xff0c;领略递归优雅秀气。看到有“递归算法优化”的操作&#xff0c;余试剖之。 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&#xff1a;大咖免费“圣经”教程《 python 完全自学教程》&#xff0c;不仅仅是…

自带超多工具,好用又免费,这3款手机浏览器你用过了吗

手机浏览器是我们手机中必备的一款软件APP&#xff0c;一款好用的浏览器&#xff0c;可以帮助我们提高工作效率&#xff0c;节省时间。对于懒癌患者来说&#xff0c;手机上安装各种各种的app很麻烦&#xff0c;下面给大家介绍自带超多的工具&#xff0c;好用且免费的浏览器&…

【C】2、C语言介绍

一、C语言 C语言是一种面向过程的计算机程序设计语言&#xff0c;于1972年由美国贝尔实验室的Dennis Ritchie所开发。C语言广泛应用于操作系统、编译器、网络通信等方面&#xff0c;也是很多高级语言的底层实现基础。 C语言具有简洁、高效、可移植性好等特点&#xff0c;以及…

New bing、ChatGPT、SQL Studio是如何优化SQL查询的?

首先&#xff0c;让我们看一下New Bing。 New Bing是一种搜索引擎&#xff0c;可以帮助我们查找与我们正在寻找的主题相关的信息。我们可以使用New Bing来解释SQL语句&#xff0c;也能帮助我们分析SQL语句的执行效率&#xff0c;此外呢&#xff0c;也能帮助我们检查一下语法与逻…