目录
- 引言
- 定义:ChatGPT
- 背景:ChatGPT 敢为人先,打破全球僵局
- 示例:基于亚马逊云科技Lambda搭建ChatGPT 微应用
- (1)整体框架
- (2)搭建前的准备工作
- (3)实际搭建步骤
- (4)体验分析
- 番外:亚马逊云科技Lambda
- 探讨:ChatGPT 是未来的 AIGC 吗?
- 结束语
- 参考文献
引言
从去年 11 月份至今,刚好一年的时间,刷爆全球技术圈的 AI 技术是ChatGPT!从 ChatGPT 诞生到现在,从刚开始短短一周时间注册用户就达到了 100 万,再到目前注册及使用人数已达数亿,在短短的 3 个月时间里 ChatGPT 一直占据各大技术社区和平台的榜首,各种关于它的话题讨论也是层出不穷,ChatGPT 的热度“高烧不退”,说明了什么呢?原因不用多说,那是因为 ChatGPT 不仅可以写论文、写代码,还可以写情书、写邮件,甚至还可以写诗、当“翻译”、当“感情导师”。本文通过对 ChatGPT 相关内容的分享,结合笔者尝试通过使用亚马逊云科技的Lambda搭建类似 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 的使用体验。
示例演示:基于亚马逊云科技Lambda搭建 ChatGPT 微应用
那么接下来,将演示使用无服务器计算产品构建一个无服务器的 Web 应用程序作为个人 AI 助手,即仿 ChatGPT 微应用。本示例演示中使用的所有服务都涵盖在亚马逊云科技的相关产品内,调用的 亚马逊云科技 Lambda 等 Serverless 相关产品,以及通过亚马逊云科技 S3 构建一个无服务器的 Web 应用程序来作为个人 AI 助手的核心技术。
(1)整体框架
- 通过使用
亚马逊云科技 S3 托管前端客户端的 Html、JS、CSS 文件; - 通过使用
亚马逊云科技 API Gateway 将前端的请求从客户端路由再到后端服务的过程; - 通过使用
亚马逊云科技 Lambda 部署后端服务 ,核心包含:API 鉴权、用户登录、处理来自客户端的聊天会话请求,以及调用 OpenAI SDK 从 OpenAI 服务器获取响应文本再返回给到客户端等流程。
(2)搭建前的准备工作
- 通过自己的渠道自行创建一个 OpenAI 账户,并且去 OpenAI 管理后台创建一个 API 密钥(该密钥是调用 OpenAI 的 API 的时候会用到);
- 注册一个亚马逊云科技平台的账户(后面在搭建的时候会一直用到);
- 搭建好本地的运行环境,如 Nodejs、Visual Studio Code ;
提前下载好 亚马逊云科技 关于 OpenAI 的代码 demo,这里通过 github 上下载到本地,具体命令行:
git clone https://github.com/亚马逊云科技-samples/亚马逊云科技-serverless-openai-chatbot-demo.git
分别转到 server 文件夹下的各个 lambda 函数文件夹,安装依赖项并打包制作 . zip 文件,以上传到 亚马逊云科技 Lambda。制作 zip 的命令如下所示:
cd server/lambda_chat
npm install
zip -r lambda_chat.zip .
(3)实际搭建步骤
1、打开并登录 亚马逊云科技 的管理后台,创建一个 Lambda 函数用来处理会话聊天
2、把上面创建的 lambda_chat.zip 上传到 Lambda 代码源中。
3、从环境变量中,创建”OPENAI_API_KEY“的键,并把应用的 OpenAI API KEY 配置成值。
4、参照步骤 1,依次创建用于 亚马逊云科技 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、部署 亚马逊云科技 S3 托管前端客户端的网站
11、编译网站的静态文件,替换上面创建的实际的 API gateway 端点
12、编译前端部分的静态文件,使用命令行:npm run build,然后把打包好的 build 内的文件部署到上面的 亚马逊云科技 S3,上传命令行:
aws s3 sync ./build/ s3://bucket-name/
13、完成上面的所有操作步骤之后,可以在 PC 或者手机浏览器中访问 亚马逊云科技 S3 网站,即可体验效果
以上就是本次关于搭建类 ChatGPT 微应用的大致步骤,通过 亚马逊云科技 的相关产品构建一个无服务器 Web 的类 ChatGPT 微应用,整体操作流程很顺畅,值得体验一下。
(4)体验分析
虽然通过上面的关于 ChatGPT 功能的使用示例,没有涉及到 ChatGPT 核心的工作原理,但是通过体验使用 ChatGPT 也能略知一二。想必读者都知道 ChatGPT 是一款自然语言处理模型,它是基于深度学习技术,利用大量数据进行训练,从而生成高质量的文本内容。亚马逊云科技 关于调用 OpenAI SDK 从 OpenAI 服务器获取响应文本再返回给到客户端的过程,OpenAI 的接口返回速度很快,体验流程无卡顿,最主要的点就是搜索的结果,完美的回答了测试问到的问题,而且答案也很精准,是期望的答案,非常不错。
番外:亚马逊云科技 Lambda
通过亚马逊云科技官方的介绍,亚马逊 Lambda是一个用于部署代码、管理服务以及监控轻量级服务运行状态的细粒度方法。上文关于借助亚马逊云科技的Lambda来具体实现类似 ChatGPT 的微应用,作为开发者的我,真真切切的体验到了技术带来的改变,尤其是亚马逊云科技的Lambda的强大功能,简单好用,而且对使用者使用的文档写的非常详细,真的可以入手试试。
探索:ChatGPT 是未来的 AIGC 吗?
从 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 助手,让我们一起期待那天的到来!
参考文献
1、亚马逊云科技官网:https://dev.amazoncloud.cn/reinvent2023
2、亚马逊云科技--Lambda入门:https://docs.亚马逊云科技.亚马逊云科技.com/zh_cn/lambda/latest/dg/getting-started.html
3、作者本人其他平台的原创文章:链接需要小助理找作者提供,这里不再展示。
本文参与了「构」向云端 | 亚马逊云科技 x 思否 2023 re:Invent 构建者征文大赛,欢迎正在阅读的你也加入。
授权声明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在 Developer Centre,知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。