目录
- 引言
- 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