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

作为大学生,你还不会搭建chatGPT微应用吗?

目录

  • 引言
  • ChatGPT是什么?
  • 背景:ChatGPT敢为人先,打破全球僵局
  • 示例演示:基于ChatGPT微应用实现的条件及步骤
  • (1)整体框架
  • (2)搭建前的准备工作
  • (3)实际搭建步骤
  • (4)体验分析
  • chatGPT体验番外篇
  • 你认为未来还有这样的技术吗?
  • 结束语
  • 参考文献

引言

从去年11月份至今,刷爆全球技术圈的AI技术是什么?大家肯定会异口同声的说:chatGPT。从chatGPT诞生到现在,从刚开始短短一周时间注册用户就达到了100万,再到目前注册及使用人数已破亿,在短短的3个月时间里chatGPT一直占据各大技术社区和平台的榜首,各种关于它的话题讨论也是层出不穷,chatGPT的热度“高烧不退”,说明了什么呢?原因不用多说,那是因为ChatGPT不仅可以写论文、写代码,还可以写情书、写邮件,甚至还可以写诗、当“翻译”、当“感情导师”。本文通过对ChatGPT相关内容的分享,结合笔者尝试通过搭建类似ChatGPT的微应用,来阐释一下ChatGPT所带来的美好体验和变化。

ChatGPT是什么?

ChatGPT(全名:Chat Generative Pre-trained Transformer),是由美国OpenAI研发的聊天机器人程序 ,在2022年11月30日发布。ChatGPT是一个人工智能技术驱动的自然语言处理工具,它能够通过学习和理解人类的语言来进行对话,还能根据实际聊天的上下文进行互动,真的可以像人一样来聊天交流,而且能完成撰写邮件、视频脚本、策划文案、翻译、写代码、写论文等任务,目前注册及使用人数已破亿。

背景:ChatGPT敢为人先,打破全球僵局

目前非常热门的人工智能(AI)自然语言处理应用工具非ChatGPT莫属,它能够通过学习和理解人类的语言来进行对话,可广泛应用于客服聊天机器人、问答、虚拟助手等应用领域。它还被用于模仿人类生成多种格式的文本,包括对话、讲故事、写小说等。ChatGPT 因其能够理解自然语言,生成高质量、连贯的文本和有意义的响应而获得公众和研究界的赞誉褒奖。

ChatGPT能够产出很出色的内容,一定程度上展现了AI能力发展新的里程碑,但也是分水岭,存在着一些局限性,比如它的准确性目前还难以完全满足实际要求,而且目前全球各大科技巨头纷纷在尝试入局AIGC,ChatGPT目前还未开源,商业模式也不太清晰,不仅能够给国内的AI科技公司留出一定的时间和空间,还能让ChatGPT在初期使用中引起的一些弊端展现出来,方便朝着正确的方法发展。虽然ChatGPT和AICG,以及阿尔法狗都是人工智能发展到一定程度的必然产物,但是ChatGPT的诞生还是造成了颠覆认知的影响,尤其是随着ChatGPT不断地完善和进步,它真的可以取代人类的一些日常工作。

个人理解,ChatGPT就是一个能“琴棋书画”的AI虚拟人,不仅会学着人类的思维在问答中互动,而且能够解决选择困难症的问题,更能解决比较专业的领域问题,是个百事通。接下来笔者通过搭建类似ChatGPT的微应用,来从技术实现层面分享一下ChatGPT的使用体验。

示例演示:基于ChatGPT微应用实现的条件及步骤

那么接下来,将演示使用无服务器计算产品构建一个无服务器的 Web 应用程序作为个人AI助手,即仿ChatGPT微应用。本示例演示中使用的所有服务都涵盖在AWS的相关产品内,调用的Amazon Lambda等Serverless相关产品,以及通过Amazon S3 构建一个无服务器的Web应用程序来作为个人AI助手的核心技术。

(1)整体框架

  • 通过使用 Amazon S3 托管前端客户端的 Html、JS、CSS 文件;
  • 通过使用 Amazon API Gateway 将前端的请求从客户端路由再到后端服务的过程;
  • 通过使用Amazon Lambda 部署后端服务 ,核心包含:API鉴权、用户登录、处理来自客户端的聊天会话请求,以及调用 OpenAI SDK 从OpenAI 服务器获取响应文本再返回给到客户端等流程。

(2)搭建前的准备工作

  • 通过自己的渠道自行创建一个OpenAI账户,并且去OpenAI管理后台创建一个API密钥(该密钥是调用OpenAI的API的时候会用到);
  • 注册一个亚马逊云科技平台的账户(后面在搭建的时候会一直用到);
  • 搭建好本地的运行环境,如Nodejs、Visual Studio Code ;
  • 提前下载好AWS关于OpenAI 的代码demo,这里通过github上下载到本地,具体命令行:git clone GitHub - aws-samples/aws-serverless-openai-chatbot-demo。下载之后解压打开的项目文件目录如下所示:
  • 分别转到 server 文件夹下的各个 lambda 函数文件夹,安装依赖项并打包制作 . zip 文件,以上传到 Amazon Lambda。制作zip的命令如下所示:

cd server/lambda_chat npm install zip -r lambda_chat.zip .

(3)实际搭建步骤

1、打开并登录AWS的管理后台,创建一个Lambda 函数用来处理会话聊天

2、把上面创建的 lambda_chat.zip 上传到 Lambda 代码源中。

3、从环境变量中,创建”OPENAI_API_KEY“的键,并把应用的OpenAI API KEY配置成值。

4、参照步骤1,依次创建用于 Amazon API Gateway 请求鉴权的Lambda 函数、用于处理用户登录请求的Lambda 函数

注意:同样要设置对应的环境变量的键值,以及上传压缩好的zip文件。

5、创建API Gateway,即创建一个名字为“chatbot”的 HTTP API

6、在chatbot API下面新创建两个POST请求方法的路由

7、给/chat路由创建Lambda授权方,以及集成到Lambda 函数中

8、给/login路由创建Lambda集成

9、设置API Gateway的CORS 配置

10、部署Amazon S3 托管前端客户端的网站

11、编译网站的静态文件,替换上面创建的实际的API gateway 端点

12、编译前端部分的静态文件

编译前端部分的静态文件,使用命令行:

npm run build

然后把打包好的build内的文件部署到上面的Amazon S3,上传命令行:

aws s3 sync ./build/ s3://bucket-name/

13、完成上面的所有操作步骤之后,可以在PC或者手机浏览器中访问Amazon S3网站,即可体验效果

以上就是本次关于搭建类chatGPT微应用的大致步骤,通过AWS的相关产品构建一个无服务器Web的类chatGPT微应用,整体操作流程很顺畅,值得体验一下。

(4)体验分析

虽然通过上面的关于chatGPT功能的使用示例,没有涉及到chatGPT核心的工作原理,但是通过体验使用chatGPT也能略知一二。想必读者都知道chatGPT是一款自然语言处理模型,它是基于深度学习技术,利用大量数据进行训练,从而生成高质量的文本内容。AWS关于调用OpenAI SDK 从OpenAI 服务器获取响应文本再返回给到客户端的过程,OpenAI的接口返回速度很快,体验流程无卡顿,最主要的点就是搜索的结果,完美的回答了测试问到的问题,而且答案也很精准,是期望的答案,非常不错。

chatGPT体验番外篇

从去年11月底chatGPT问世,笔者就在当年的12月份体验了chatGPT,首次体验chatGPT的感觉是很惊叹的,当时能想到的就是chatGPT的回答解决了常规的问答问题,尤其是传统搜索引擎不能满足精准回复的缺陷,通过传统收缩引擎获得的答案需要搜索者耗费大量时间去对比和验证才能得到自己想要的答案,毕竟搜索到的答案鱼龙混杂。但是chatGPT的诞生解决了这个最大的痛点问题,打破了传统搜索引擎的通病,极大的提高了搜索用户的搜索效率,研发chatGPT只是为了解决传统搜索的弊端,但是chatGPT却实现了完美超越。分享一下使用chatGPT的体验截图。

你认为未来还有这样的技术吗?

从ChatGPT的诞生以及在短期内的井喷热度,有人说是第四次技术革命,又有人说是挑战人类工作的竞争者,还有人说是整治科技圈的利器,不管怎么说ChatGPT的出现在短时间内掀起的高潮和热度是必然事件。因为人工智能近几年的快速发展以及技术沉淀,诞生ChatGPT是意料之中的事情。

而且我相信ChatGPT的出现是起点而不是终点,接下来肯定还会有类似ChatGPT的ChatGPT2、ChatGPT3的出现,同时我也相信国内的互联网企业能够紧追其上,早日推出国内版类ChatGPT的产品,也希望ChatGPT带来更多的是改变美好生活,而不是制造问题,期待着ChatGPT改变美好生活!

个人觉得,chatGPT带来的热度在短时间内不会消退,而且随着全球互联网企业的纷纷入手类chatGPT应用,势必会继续让chatGPT保持热度,也会有越来越多的类chatGPT问世。无论是国外还是国内,chatGPT将成为新的风口,chatGPT的应用场景越来越多,同时会改变一些生活体验,也会改变一些工作方式。

结束语

作为技术开发人员,不仅仅只是体验使用chatGPT的功能,更应该去了解chatGPT的核心原理以及研发步骤,这样才能保持一个技术持续更新的状态,而且也能在技术研究中提升自身价值。chatGPT的出现,不仅提高了使用者的开发和学习效率,而且还促进了一些行业的变革,但是事物的出现都有两面性,有好的一面,必然有不好的一面;我们使用chatGPT只取它的优点,要理性的使用chatGPT,而不是极度的依赖它,chatGPT可以是解决问题的一种很好的选项,但不是唯一的选择。未来一段时间内,chatGPT会不断地完善和优化,随着模型的性能和个性化的提升,chatGPT真的可以成为人类的专属AI助手,让我们一起期待那天的到来!

参考文献

亚马逊云科技官网--Lambda 入门:Lambda 入门 - AWS Lambda

相关文章:

作为大学生,你还不会搭建chatGPT微应用吗?

目录 引言ChatGPT是什么?背景:ChatGPT敢为人先,打破全球僵局示例演示:基于ChatGPT微应用实现的条件及步骤(1)整体框架(2)搭建前的准备工作(3)实际搭建步骤&a…...

Three.js教程:第一个3D场景

推荐:将NSDT场景编辑器加入你3D工具链其他工具系列:NSDT简石数字孪生下面的代码完整展示了通过three.js引擎创建的一个三维场景,在场景中绘制并渲染了一个立方体的效果,为了大家更好的宏观了解three.js引擎, 尽量使用了…...

lua快速入门~在js基础上,知道Lua 和 Js 的不同即可

☺ lua 和 javaScript 差不多的,就是一些语法的细节不同,学过js,再注意一下下面的细节,就能上手了~ 快速入门,可以直接看一下菜鸟教程的lua:https://www.runoob.com/lua/lua-tutorial.html Lua 和 Js 的不同…...

Linux系统【Centos7】更换源详细教程

更换CentOS 7系统的源可以提高网络速度,加快软件升级和安装的速度。以下是详细的更换CentOS 7源实践。 步骤 1:备份原始 Yum.repo 在更换之前,首先要备份原始 Yum.repo 文件(一定要记得备份)。 bash sudo mv /etc/y…...

金三银四求职季来了!分享几道最常见的app面试题,帮助您更好准备面试求职!

目录:导读 引言 一、Web 端测试和 App 端测试有何不同? 二、App是如何测试的? 三、app闪退的可能原因? 四、给你一个登录页面,你要如何测试? 五、测试过程中遇到app出现crash或者ANR,你会怎么处理? …...

Java集合——List接口学习总结

一、ArrayList实现类 1. 常用方法 增加:add(int index, E element)删除:remove(int index) remove(Object o)修改:set(int index, E element)查看:get(int index)判断:常用遍历方式://List集合 遍历&…...

低代码(三)低代码平台前端技术组件选型1.0(前端)

目前国内主流的低代码开发平台有:金蝶、用友、宜搭、云程、简道云、明道云、氚云、伙伴云、道一云、JEPaaS、华炎魔方、搭搭云、JeecgBoot 、RuoYi等。这些平台各有优劣势,定位也不同,用户可以根据自己需求选择。如果企业想自主可控&#xff…...

代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球

代码随想录算法训练营第35天|860.柠檬水找零,406.根据身高重建队列,452. 用最少数量的箭引爆气球860.柠檬水找零406. 根据身高重建队列452. 用最少数量的箭引爆气球860.柠檬水找零 题目链接:860.柠檬水找零,难度:简单…...

C++整人代码,十分朴实但威力无穷,让你对cout怀疑人生,整死你的同学

cout人人皆知 /a 只是让电脑响个铃 直接上个简单的代码 #include<iostream> using namespace std; int main() {while(1)cout<<"\a"; }最后普及一下&#xff1a; 控制符的作用有&#xff1a; setbase(n) 以n进制方式输出(n8,10,16) setfill(ch) 设置…...

【Spring Cloud Alibaba】12.定时任务(xxl-job)

文章目录简介什么是xxl-job调度中心执行器官方架构图相关地址环境要求配置调度中心下载源码目录说明初始化数据库源码方式docker方式测试集群&#xff08;可选&#xff09;配置执行器pom.xmlapplication.propertiesXxlJobExecutorApplication.java执行器组件配置创建定时任务任…...

GDB core dump分析

基本知识 Linux core dump&#xff1a;一般称之为核心转储、内核转储&#xff0c;我们统称为转储文件。是某个时刻某个进程的内存信息映射&#xff0c;即包含了生成转储文件时该进程的整个内存信息以及寄存器等信息。转储文件可以是某个进程的&#xff0c;也可以是整个系统的。…...

Leetcode.111 二叉树的最小深度

题目链接 Leetcode.111 二叉树的最小深度 easy 题目描述 给定一个二叉树&#xff0c;找出其最小深度。 最小深度是从 根节点 到 最近叶子节点 的 最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [3,9,20,null,nul…...

【RP-RV1126】SDK编译常用记录

文章目录一、单独编译1.1 单独配置编译kernel1.2 单独编译配置Buildroot1.3 单独编译rkmedia1.3.1 添加自己的rkmedia代码文件荣品的RV1126。一、单独编译 如果执行 build.sh 运行完成后没有在 rockdev/ 目录下生成镜像文件&#xff0c;请执行&#xff1a; ./build.sh firmwa…...

【操作系统复习】第5章 存储器管理

存储器的层次结构 存储层次 ➢ CPU寄存器 ➢ 主存&#xff1a;高速缓存、主存储器、磁盘缓存 ➢ 辅存&#xff1a;固定磁盘、可移动介质 层次越高&#xff0c;访问速度越快&#xff0c;价格也越高&#xff0c;存储容量也最小 寄存器和主存掉电后存储的信息不再存在&a…...

Python人工智能在气象中的实践技术应用

专题一 Python 和科学计算基础 1.1 Python 入门和安装 1.1.1 Python 背景及其在气象中的应用 1.1.2 Anaconda 解释和安装以及 Jupyter 配置1.1.3 Python 基础语法 1.2 科学数据处理基础库 1.2.1 Numpy 库1.2.2 Pandas 库1.2.3 Scipy 库 1.2.4 Matplotlib 和 Cartopy 库 …...

libcurl库的安装及使用说明

目录 一 libcurl库安装 ① 下载网址 ② libcurl库安装步骤 ③ libcurl等第三方库的通用编译方法 二 调用libcurl编程访问百度主页 ① 代码说明 ② 编译说明 ③ 执行说明 三 libcurl的使用说明 ① curl相关函数简介 ② curl_easy_setopt函数部分选项介绍 ③…...

【JAVAEE】手把手教学多线程,包教包会~

线程与进程为了实现多个任务并发执行的效果&#xff0c;人们引进了进程。何谓进程&#xff1f;我们电脑上跑起来的每个程序都是进程。每一个进程启动&#xff0c;系统会为其分配内存空间以及在文件描述符表上有所记录等。进程是操作系统进行资源分配的最小单位&#xff0c;这意…...

基于ChatGPT API的PC端软件开发过程遇到的问题的分析

如果喜欢本文章&#xff0c;记得收藏哦&#xff01; 关注我&#xff0c;一起学Java。 一、基于ChatGPT API的PC端软件开发过程遇到的问题的分析 最近这个OpenAI公司推出的GPT-4.0模型真是太火了。当然由于OpenAI目前还没有正式全面对外开放GPT-4.0 API&#xff0c;所以本次使用…...

啥是插入排序 ?

一、概述 排序是算法中的一部分。所以我们学习排序也是算法的入门&#xff0c;为了能让大家感受到排序是算法的一部分&#xff0c;我举个例子证明一下&#xff1a;比如麻将游戏&#xff0c;发完牌之后需要对手上的牌进行排序&#xff0c;大家想想&#xff0c;麻将排序如何排呢…...

华为OD机试题 Q2 押题【贪心的商人 or 最大利润】用 C++ 编码,速通

最近更新的博客 华为od 2023 | 什么是华为od,od 薪资待遇,od机试题清单华为OD机试真题大全,用 Python 解华为机试题 | 机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为od机试,独家整理 已参加机试人员的实战技巧本篇题解:贪心的商人 or 最大利润 题目…...

spring框架注解

3.Spring有哪些常用注解呢&#xff1f; Spring常用注解 Web: Controller&#xff1a;组合注解&#xff08;组合了Component注解&#xff09;&#xff0c;应用在MVC层&#xff08;控制层&#xff09;。 RestController&#xff1a;该注解为一个组合注解&#xff0c;相当于Con…...

前端如何处理文本溢出

前言 在现代网页设计中&#xff0c;文本是网页中最重要的内容之一。然而&#xff0c;当文本超出其容器的大小时&#xff0c;会发生文本溢出的问题。文本溢出不仅会影响网页的视觉效果&#xff0c;还会影响网页的可读性和可用性。在前端开发中&#xff0c;解决文本溢出的问题是…...

vue elementUI select下拉框设置默认值(赋值)失败

vue elementUI select下拉框设置默认值 要为select下拉框设定默认值&#xff0c;只需要把 v-model 绑定的值和你想要选中 option 的 value 值设置一样即可。 下面上代码&#xff1a; html部分代码&#xff1a; <el-select v-model"valuetype" change"ch…...

TensorRT创建Engine并推理engine

1. 验证集数据集 Class Images Labels P R mAP.5 mAP.5:.95: 100%|██████████| 84/all 1000 28423 0.451 0.374 0.376 0.209pedestrians 1000 17833 0.737 0.855 0.88 …...

生成式人工智能所面临的问题有哪些?

在生成式人工智能中工作需要混合技术、创造性和协作技能。通过发展这些技能&#xff0c;您将能够在这个令人兴奋且快速发展的领域应对具有挑战性的问题。 生成式人工智能是指一类机器学习技术&#xff0c;旨在生成与训练数据相似但不完全相同的新数据。 换句话说&#xff0c;…...

代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零

打卡第43天&#xff0c;01背包应用。 今日任务 1049.最后一块石头的重量 II494.目标和474.一和零 1049. 最后一块石头的重量 II 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xff0c;从中选出任意两块石头&#xff0…...

PostCSS 让js可以处理css

GitHub 中文readmie PostCSS 中文网&#xff08;建设中&#xff09; PostCSS 不是样式预处理器 是 CSS 语法转换的工具&#xff0c;但不严格遵循css规范&#xff0c;只要符合css语法规则就可以被处理。这也让提前实现新提案成为可能。 使用 webpack 中使用 postcss-loader …...

【C语言进阶:自定义类型详解】位段

本节重点内容&#xff1a; 什么是位段位段的内存分配位段的跨平台问题位段的应用⚡什么是位段 位段的声明和结构是非常类似的&#xff0c;但是有两个不同&#xff1a; 位段的成员必须是 int、unsigned int 或signed int 。位段的成员名后边有一个冒号和一个数字。 struct A…...

十三、RNN循环神经网络实战

因为我本人主要课题方向是处理图像的&#xff0c;RNN是基本的序列处理模型&#xff0c;主要应用于自然语言处理&#xff0c;故这里就简单的学习一下&#xff0c;了解为主 一、问题引入 已知以前的天气数据信息&#xff0c;进行预测当天(4-9)是否下雨 日期温度气压是否下雨4-…...

五子棋透明棋盘界面设计(C语言)

五子棋透明棋盘设计&#xff0c;漂亮的界面制作。程序设置双人对奕&#xff0c;人机模式&#xff0c;对战演示三种模式。设置悔棋&#xff0c;记录功能&#xff0c;有禁手设置。另有复盘功能设置。 本文主要介绍透明的玻璃板那样的五子棋棋盘的制作。作为界面设计&#xff0c;…...