最近很火的ChatGPT来了!我也是做了一个最最基础的模型,让大家更通俗易懂!

先看效果:

 接下来直接上代码:

<template>
<view class="content">
<view class="text-area">
<textarea class="aa" placeholder-style="color:#F76260" placeholder="智能提问" v-model='title' />
<button class="button" @click="getAi">提问</button>
</view>
<view class="answer">
<textarea disabled class="aa cc" placeholder-style="color:#F76260" placeholder="回答" v-model='answer' />
</view>
</view>
</template> <script>
export default {
data() {
return {
title: '列举几条法律',
answer: "",
}
},
onLoad() {
// this.getAi()
},
methods: {
getAi() {
let that = this
console.log(this.title, 8888)
if (!this.title) {
uni.showToast({
title: '请先输入问题!',
});
return
}
let answer = '正在思考请稍后...'
let index = 0;
that.answer = ''
let interval = setInterval(function() {
that.answer += answer[index];
index++;
// 当打印完成时,清除定时器
if (index >= answer.length) {
clearInterval(interval);
}
},
150); // 每隔50毫秒打印一个字符 let dataVal = JSON.stringify({
"prompt": that.title,
"max_tokens": 2048,
"temperature": 0.5,
"top_p": 1.0,
"frequency_penalty": 0.8,
"presence_penalty": 0.0,
"model": "text-davinci-003"
});
// {
// "model": "text-davinci-003",
// "prompt": "",
// "temperature": 0.5,
// "max_tokens": 60,
// "top_p": 1.0,
// "frequency_penalty": 0.8,
// "presence_penalty": 0.0
// }
uni.request({
url: 'https://api.openai.com/v1/completions', //仅为示例,并非真实接口地址。
data: dataVal,
method: "POST",
header: {
'Content-Type': 'application/json',
'Authorization': 'Bearer sk-xxxxxxxxxxxxx', //自定义请求头信息
},
success: (xhr) => {
if (xhr.statusCode === 200) {
console.log('xhr', xhr)
var json = xhr.data;
var response = json.choices[0].text; // 将CHATGPT的返回值输出到文本框
var indexxx = 0;
that.answer = ''
// 创建一个定时器,每隔一段时间打印一个字符
var intervals = setInterval(function() {
that.answer += response[indexxx];
indexxx++; // 当打印完成时,清除定时器
if (indexxx >= response.length) {
clearInterval(intervals);
}
},
50); // 每隔50毫秒打印一个字符
}
console.log(xhr);
}
});
},
}
}
</script> <style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
} .logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
} .text-area {} .aa {
border: solid 1px red;
}
.cc {
height: 600rpx;
} .button {
width: 300rpx;
height: 100rpx;
margin: 30rpx auto;
background: red;
line-height: 100rpx;
} .title {
font-size: 36rpx;
color: #8f8f94;
}
</style>

最后附一个openAI的地址(科学):

https://platform.openai.com

还有不明白的欢迎留言,我会一一解答~

感兴趣的小伙伴去试试吧~

uniapp对接ChatGPT 简单实现对话功能的更多相关文章

  1. linux下实现两人、三人无序对话功能

    序:引子 对话功能实际上就是利用管道见得通信.最原始的是一方发另一方收,不能进项交互,发送方的代码如下: /*============================================ ...

  2. python 全栈开发,Day129(玩具开机提示语,为多个玩具发送点播,聊天界面,app录音,app与服务器端文件传输,简单的对话)

    一.玩具开机提示语 先下载github代码,下面的操作,都是基于这个版本来的! https://github.com/987334176/Intelligent_toy/archive/v1.2.zi ...

  3. 手把手教你利用微软的Bot Framework,LUIS,QnA Maker做一个简单的对话机器人

    最近由于要参加微软亚洲研究院的夏令营,需要利用微软的服务搭建一个对话Bot,以便对俱乐部的情况进行介绍,所以现学了几天,搭建了一个简单的对话Bot,期间参考了大量的资料,尤其是下面的这篇博客: htt ...

  4. ASP.NET MVC 学习4、Controller中添加SearchIndex页面,实现简单的查询功能

    参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/examining-the-edit-method ...

  5. Web---创建Servlet的3种方式、简单的用户注册功能

    说明: 创建Servlet的方式,在上篇博客中,已经用了方式1(实现Servlet接口),接下来本节讲的是另外2种方式. 上篇博客地址:http://blog.csdn.net/qq_26525215 ...

  6. js+html+css简单的互动功能页面(2015知道几乎尖笔试题)http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html?from=y1.7-1.2

    js+html+css实现简单页面交互功能(2015知乎前端笔试题) http://v.youku.com/v_show/id_XMTI0ODQ5NTAyOA==.html? from=y1.7-1. ...

  7. Spring 学习——基于Spring WebSocket 和STOMP实现简单的聊天功能

    本篇主要讲解如何使用Spring websocket 和STOMP搭建一个简单的聊天功能项目,里面使用到的技术,如websocket和STOMP等会简单介绍,不会太深,如果对相关介绍不是很了解的,请自 ...

  8. Django文件上传三种方式以及简单预览功能

    主要内容: 一.文件长传的三种方式 二.简单预览功能实现 一.form表单上传 1.页面代码 <!DOCTYPE html> <html lang="en"> ...

  9. 运用socket实现简单的ssh功能

    在python socket知识点中已经对socket进行了初步的了解,那现在就使用这些知识来实现一个简单的ssh(Secure Shell)功能. 首先同样是建立两个端(服务器端和客户端) 需求是: ...

  10. Jenkins实现简单的CI功能

    步骤一:安装JDK.Tomcat,小儿科的东西不在此详细描述 步骤二:下载安装Jenkins下载链接:https://jenkins.io/download/ 步骤三:将下载的jenkins.war部 ...

随机推荐

  1. 日常JS数据各种操作方法总结~~欢迎大家留言板补充哦~~

    需求情景一: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...

  2. Quarkus入门体验,22ms启动一个Web服务

    简介 Quarkus是类似于Spring Boot的框架,可以方便大家进行Java开发.利用GraalVM的魔力,能更好的适应云原生的场景,极快的启动速度. 创建项目 在IDEA就直接有创建Quark ...

  3. 解决Java.awt设计GUI程序时Label标签中文乱码解决(idea)

    未修改时对话框里边无法显示Label的文本内容,显示的都是方框!网上都是Run--Edit Configurations--VM options:填入-Dfile.encoding=gbk 但是我实际 ...

  4. Grafana 系列文章(八):Grafana Explore 中的 Inspector

    ️URL: https://grafana.com/docs/grafana/latest/explore/explore-inspector/ Description: Explore 中的检查器 ...

  5. Node.js学习笔记----day04

    认真学习,认真记录,每天都要有进步呀!!! 加油叭!!! 一.Express 原生的http在某些方面上不足以满足我们的开发需求,所以我们需要使用框架来提高我们的开发效率,框架的目的就是提高开发效率, ...

  6. typora配置图床

    PicGo无法上传图片,报下图错误 Error: Error in repo name 这里我使用图床是gitee 上传之前需要安装插件 解决方法: 最后一步:配置typora, 点击验证图片选项,查 ...

  7. STM32F4寄存器初始化系列:三重ADC——DMA

    static void ADC_Init(void) { /********************DMA配置**************************/ DMA2_Stream0-> ...

  8. 【Vue】计算属性 监听属性 组件通信 动态组件 插槽 vue-cli脚手架

    目录 昨日回顾 1 计算属性 插值语法+函数 使用计算属性 计算属性重写过滤案例 2 监听属性 3 组件介绍和定义 组件之间数据隔离 4 组件通信 父子通信之父传子 父子通信之子传父 ref属性 扩展 ...

  9. xmind使用分享

    Xmind 介绍 1. 特点 是表达发散性思维的有效工具,图文并重,把各主题的隶属关系和相关的层级表现出来,把关键字与图像,文字,颜色建立起链接记忆. 2.安装,下载与破解 参考:https://bl ...

  10. 【前端】js实现图片自适应

    一.问题分析 既然要实现图片自适应,那就要对不同的图片尺寸进行分类处理,我最开始是分了5类 对于长宽都不超过的情况 -- 应该不改变图片本身比例 对于长宽都超过的情况 -- 应该是根据图片比例进行缩小 ...