【ChatGPT】原生JS实现ChatGPT小型Demo

初入前端的小白也可以尝尝鲜

无需科学上网,调用API2D的接口进行连接(也可以换成官方API,均有免费额度)

第一步、注册API2D

https://api2d.com/r/187255

使用GitHub或邮箱进行注册登录

,通过 GitHub 注册的开发者将获得 50 次的免费次数

第二步、复制ForwardKey

第三步、新建一个html文件

此处省略。。。

第四步、将代码复制到新建的html文件中

<html><head><meta name="viewport" content="width=device-width,initial-scale=1.0"><script src="https://unpkg.com/axios/dist/axios.min.js"></script><title>Chat GPT客服</title>
</head><body><div class="rightSide"><div class="header"><div class="imgText"><div class="userimg"><img src="https://image.51uhj.com/wx/676e4ff60ad46337f9b39d8757766bf581b9b89f5927b1bdf4766a456efdd3d3.png"class="cover"></div><h4>梯梯助手Chat GPT客服<br><span>在线</span></h4></div></div><!--chatbox--><div id="chatBox" class="chatBox"><div class="message frnd_message"><p>欢迎使用梯梯助手Chat GPT客服,有什么问题都可以问我。</span><br><span id="time"></span> </p></div></div><!--chat input--><div class="chatbox_input"><div class="chatbox_input_div"><input id="chatInput" type="text"><button id="chatbox_input_send" class="chatbox_input_send">发送</button></div></div></div>
</body>
<script>document.getElementById('time').innerHTML = new Date().toLocaleString();var defuleValue = ''function debounce(fn, delay = 2000) {// 是闭包中的let timerlet changeDom = document.getElementById('chatbox_input_send')// input事件调用的函数,相当于obj调用函数 this指向Inputreturn function () {defuleValue = document.getElementById('chatInput').value// 这个if 判断不做也没关系,判断了(除第一次非空的情况)也就是执行从第二次开始,在延迟时间内多次触发才会走该判断if (timer) {clearTimeout(timer)} else {changeDom.innerHTML = '正在询问'changeDom.disabled = truedocument.getElementById('chatInput').value = ""}// 此时的箭头函数的this 和 arguments 都是从外部函数继承而来// 如果用普通函数就要用词法作用域 var that = this var arg = argumentstimer = setTimeout(() => {// 使得传入的回调函数的this 指向Input这个元素对象// arguments是该事件的详情,可以获得该函数被调用时的所有参数,是一个event 对象(所有Dom事件都会传event对象进入)// 直接使用 fn() 问题也不大fn.apply(this, arguments)timer = null}, delay)}}// 直接使用document.getElementById('chatbox_input_send').addEventListener('click', debounce(() => {// 可直接使用this.value获得输入框的值; arguments可用于获取具体触发事件的信息// console.log(defuleValue)this.handleSend(defuleValue)}))document.getElementById('chatInput').addEventListener('keydown', function (event) {if (event.keyCode == "13") {document.getElementById('chatbox_input_send').click();}})function handleSend(inputValue) {// console.log(1);let inputDom = document.getElementById('chatBox');if (!inputValue.length) {alert('请输入您的问题!');document.getElementById('chatbox_input_send').innerHTML = '发送'document.getElementById('chatbox_input_send').disabled = falsedefuleValue = ""return}if (inputValue.length > 50) {alert('您输入的问题过长!');document.getElementById('chatbox_input_send').innerHTML = '发送'document.getElementById('chatbox_input_send').disabled = falsedefuleValue = ""return}inputDom.innerHTML = inputDom.innerHTML + '<div class="message my_message"><p>' + inputValue +'</span><br><span>' + new Date().toLocaleString() + '</span> </p></div>'const params = {model: 'gpt-3.5-turbo',messages: [{role: 'user',content: inputValue}],}let xhr = new XMLHttpRequest();xhr.open('post', `https://openai.api2d.net/v1/chat/completions`);xhr.setRequestHeader('content-type', 'application/json');xhr.setRequestHeader('Authorization', 'Bearer 此处写你的fk');xhr.send(JSON.stringify(params));xhr.onload = function () {console.log(JSON.parse(xhr.response));let res = JSON.parse(xhr.response)inputDom.innerHTML = inputDom.innerHTML +'<div class="message frnd_message"><p>' + res.choices[0].message.content + '</span><br><span>' +new Date().toLocaleString() +'</span> </p></div>'document.getElementById('chatbox_input_send').innerHTML = '发送'document.getElementById('chatbox_input_send').disabled = falsedefuleValue = ""}}
</script></html>
<style>.chatbox_input_div {display: flex;align-items: center;justify-content: space-between;}.chatbox_input_send {width: 80px;height: 30px;}* {margin: 0;padding: 0;box-sizing: border-box;font-family: 'Open Sans', sans-serif;}body {display: flex;justify-content: center;align-items: center;min-height: 100vh;background: linear-gradient(#009688 0%, #009688 130px, #d9dbd5 130px, #d9dbd5 100%)}.rightside {background: #e5ddd5;width: 100%;position: fixed;top: 50px;}.rightside::before {content: '';position: absolute;top: 0;left: 0;width: 100%;height: 100%;background: url(img6-bg.jpg);opacity: 0.06;}.header {position: relative;width: 100%;height: 60px;background: #ededed;display: flex;justify-content: space-between;align-items: center;padding: 0 15px;}.userimg {position: relative;width: 40px;height: 40px;overflow: hidden;border-radius: 50%;cursor: pointer;}.cover {position: absolute;top: 0;left: 0;width: 100%;height: 100%;object-fit: cover;}.imgText {position: relative;display: flex;justify-content: center;align-items: center;}.imgText h4 {font-weight: 500;line-height: 1.2em;margin-left: 15px;}.imgText h4 span {font-size: 0.8em;color: #555;}.chatBox {position: relative;width: 100%;/* height: calc(100%-120px); */height: 70vh;padding: 50px;overflow-y: auto;}.message {position: relative;display: flex;width: 100%;margin: 5px 0;}.message p {position: relative;right: 0;text-align: right;max-width: 65%;padding: 12px;background: #dcf8c6;border-radius: 10px;font-size: 0.9em;}.message p::before {content: '';position: absolute;top: 0;right: -12px;width: 20px;height: 20px;background: linear-gradient(135deg, #dcf8c6 0%, #dcf8c6 50%, transparent 50%, transparent);}.message p span {display: block;margin-top: 5px;font-size: 0.85em;opacity: 0.5;}.my_message {justify-content: flex-end;}.frnd_message {justify-content: flex-start;}.frnd_message p {background: #fff;text-align: left;}.message.frnd_message p::before {content: '';position: absolute;top: 0;left: -12px;width: 20px;height: 20px;background: linear-gradient(225deg, #fff 0%, #fff 50%, transparent 50%, transparent);}.chatbox_input {position: relative;width: 100%;/* height: 150px; */background: #f0f0f0;padding: 15px;justify-content: space-between;align-items: center;}.chatbox_input input {position: relative;width: 90%;margin: 0 20px;padding: 10px 20px;border: none;outline: none;border-radius: 30px;font-size: 1em;}
</style>

第五步、将复制的ForwardKey粘贴到这个地方

!!!注意 Bearer与空格不能删除

第六步、双击打开html文件

 这样就可以愉快的聊天了,如果只是想简单的尝试一下话就不用看下面的附录了。

附录

代码实现了按钮与输入框防抖置灰

如果想正式使用的话请将ForwardKey加密,否则会有恶意攻击的风险

如果需要更加深入的功能(如更换训练模型,更换版本)请看API2D官方文档(结一下广告费,本条

                                                                                   

目录

第一步、注册API2D

第二步、复制ForwardKey

第三步、新建一个html文件

第四步、将代码复制到新建的html文件中

第五步、将复制的ForwardKey粘贴到这个地方

第六步、双击打开html文件

附录


RiverGod-致力于每一个还有梦想的前端小白

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

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

相关文章

分享下前端开发如何玩转ChatGPT

去年的时候就跟风注册了一波&#xff0c;其回答问题的准确性和编码能力让我吃惊。不得不说&#xff0c;ChatGPT作为一个新兴的AI产品&#xff0c;和老美的电影里的人工智能有那么一些相像了&#xff0c;甩了三问一不知的小爱、小度和小E不止一条街。 他的&#x1f525;出了圈&a…

浅谈ChatGPT取代前端开发工程师

1.ChatGPT 是什么? ChatGPT 是一种基于深度学习的自然语言处理技术&#xff0c;它可以生成高质量的自然语言文本。该技术是由 OpenAI 团队 开发&#xff0c;旨在使计算机能够像人类一样理解和产生自然语言。ChatGPT 使用了深度神经网络和自然语言处理技术&#xff0c;通 过对大…

一文教会你前端开发如何使用chatGPT提高效率

想想chatGPT已经火起来快小一年了&#xff0c;每天看着新闻感叹&#xff0c;好厉害&#xff0c;好想学&#xff0c;闲暇之余翻着相关技术文章&#xff0c;总是一知半解&#xff0c;需要申请各种账号&#xff0c;奈何人懒&#xff0c;且笨还怕上当受骗&#xff0c;估一直拖延至此…

ChatGPT方法论“BORE“

作者 | 陈财猫 我是一个自动驾驶行业的产品经理&#xff0c;也是ChatGPT的第一批用户。第一次遇见ChatGPT是在去年十二月的第一个星期&#xff0c;有一个搞AI的朋友在群里发了一张与ChatGPT的聊天截图&#xff0c;引起了我的兴趣&#xff0c;从此我便一发不可收拾。 刚开始&a…

毕业论文写作与降重神器ChatGPT从零开始使用(超详细)

文章目录 ChatGPT的使用1. 复制论文到输入框2. 提取论文中关键信息3. 重新扩写5. 报错滥用问题&#xff0c;Your account was flagged for potential abuse. If you feel this is an error, please contact us at help.openai.com 最近进行毕业季&#xff0c;又要头疼如何写毕业…

使用ChatGPT进行文章降重

#ChatGPTTOC 使用ChatGPT进行文章降重 在ChatGPT引领的技术爆炸时期&#xff0c;如何使用它对文章进行降重&#xff1f; 推荐一个实测简单有效的方法&#xff0c;只需两步&#xff1a; 简单来说就是先进行关键点提取再进行关键点扩写。 关键点提取 提炼出这段话的关键点和结论…

chatgpt可以降重论文吗-chatgpt降重论文软件

chatgpt可以降重论文吗 ChatGPT是一种自然语言处理技术&#xff0c;可以生成符合指定条件的文本。因此&#xff0c;理论上可以使用ChatGPT来降重论文。但是&#xff0c;需要注意以下几点&#xff1a; 是否符合学术道德要求&#xff1a;学术论文的降重需要严格遵守学术道德准则…

「AIGC」- ChatGPT可以怎么玩?

chatGPT这么火&#xff0c;这几天一番体验之后&#xff0c;除了惊叹&#xff0c;同时也引发了作为程序员的担忧&#xff1a;我的工作是否会被AI取代&#xff1f; 这个问题很难不引起焦虑&#xff0c;但是我们可以换一个角度&#xff0c;可以用这些生成类的工作&#xff0c;做些…

AI绘图网站素材(chatGPT-4汇总)

科研工作中在文献中都会用到画图工具&#xff0c;画出好看又科学的图片&#xff0c;不仅可以提升文章的可阅读性&#xff0c;同时对读者来说也是赏心悦目。AI绘图软件是目前比较常用的画图工具&#xff0c;利用AI工具基本就可以实现一般学术或者工作的画图需要&#xff0c;但是…

让ChatGPT画一个小孩

问&#xff1a;用python画一个小孩 答&#xff1a;下面是一个用Python的turtle模块画小孩的示例代码&#xff1a; scssCopy codeimport turtle# 设置画布大小和背景色 turtle.setup(400, 400) turtle.bgcolor(lightblue)# 设置画笔属性 turtle.pensize(5) turtle.penup() turtl…

少儿学编程系列 --- 如何让ChatGPT使用turtle画画

ChatGPT介绍 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序 ,于2022年11月30日发布 。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一…

(小伞每日论文概读)视觉ChatGPT?让ChatGPT能画画的模型设计!

声明 本篇文章的相关图片来源于论文&#xff1a;Visual ChatGPT: Talking, Drawing and Editing with Visual Foundation Models 论文链接如下&#xff1a;https://arxiv.org/pdf/2303.04671.pdf 碍于本人的知识水平所限&#xff0c;本篇文章的总结可能存在不妥之处&#xf…

ChatGPT实用指南(精编版)

本指南增加了大量实用的操作和详细的讲解&#xff0c;保证小白可以轻松上手&#xff0c;快速驾驭ChatGPT。 关注公众号&#xff1a;【互联互通社区】&#xff0c;回复【GPT019】获取全部报告内容。 精彩推荐 GPT001&#xff1a;ChatGPT专题报告合辑(精选七篇) -ChatGPT&#xf…

从原理到应用,人人都懂的ChatGPT指南 | 京东云技术团队

作者&#xff1a;京东科技 何雨航 引言 如何充分发挥ChatGPT潜能&#xff0c;已是众多企业关注的焦点。但是&#xff0c;这种变化对员工来说未必是好事情。IBM计划用AI替代7800个工作岗位&#xff0c;游戏公司使用MidJourney削减原画师人数…此类新闻屡见不鲜。理解并应用这项…

chatgpt驯化指南——不要落伍了哦

首先&#xff0c;我们让它自己介绍自己。 然后&#xff0c;给大家提供这个软件的文件包。 已发布资源&#xff0c;自行下载。 链接如下&#xff1a; (3条消息) chatgpt桌面版软件&#xff0c;可直接链接外部&#xff0c;无需梯子仅需要OPENAIKEY资源-CSDN文库 注意&#xff…

从原理到应用,人人都懂的 ChatGPT 指南

“如何充分发挥ChatGPT潜能&#xff0c;成为了众多企业关注的焦点。但是&#xff0c;这种变化对员工来说未必是好事情。IBM计划用AI替代7800个工作岗位&#xff0c;游戏公司使用MidJourney削减原画师人数......此类新闻屡见不鲜。理解并应用这项新技术&#xff0c;对于职场人来…

ChatGPT 高效使用指南

简介 ChatGPT 是一种基于人工智能&#xff08;AI&#xff09;技术的应用&#xff0c;它可以通过文字和使用者进行对话和回答问题。它采用的人工神经网络和深度学习等技术&#xff0c;能够学习大量的语言数据&#xff0c;并从中提取出语言规律和模式&#xff0c;从而生成具有逻…

ChatGPT 指南:如何与人工智能模型进行对话与互动

人工智能技术的快速发展使得我们能够与智能机器进行对话和互动。 ChatGPT 是一种基于 GPT-3.5 架构的强大语言模型&#xff0c;它能够进行自然语言处理&#xff0c;理解我们的问题并提供相应的回答。本文将为您提供使用 ChatGPT 进行对话和互动的详细指南。 1、提出问题 与 Cha…

ChatGPT 指南:角色扮演让回答问题更专业

让 ChatGPT 进行角色扮演 Act as ...&#xff0c;比如&#xff0c;律师、内科医生、心理医生、运动教练、哲学家、翻译、平面设计师、IT 工程师等等&#xff0c;从而才能让 ChatGPT 从这个角色角度来分析我们的问题&#xff0c;不然&#xff0c;它的回答可能会过于广泛。 下面以…

2023年的深度学习入门指南(1) - 从chatgpt入手

2023年的深度学习入门指南(1) - 从chatgpt入手 2012年&#xff0c;加拿大多伦多大学的Hinton教授带领他的两个学生Alex和Ilya一起用AlexNet撞开了深度学习的大门&#xff0c;从此人类走入了深度学习时代。 2015年&#xff0c;这个第二作者80后Ilya Sutskever参与创建了openai公…