6
头图

目录

  • 引言
  • 定义: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 .

image.png

(3)实际搭建步骤

1、打开并登录 亚马逊云科技 的管理后台,创建一个 Lambda 函数用来处理会话聊天
image.png

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

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

4、参照步骤 1,依次创建用于 亚马逊云科技 API Gateway 请求鉴权的 Lambda 函数、用于处理用户登录请求的 Lambda 函数。需要注意的是,同样要设置对应的环境变量的键值,以及上传压缩好的 zip 文件。
5、创建 API Gateway,即创建一个名字为“chatbot”的 HTTP API
image.png
6、在 chatbot API 下面新创建两个 POST 请求方法的路由
image.png

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

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

9、设置 API Gateway 的 CORS 配置
image.png

10、部署 亚马逊云科技 S3 托管前端客户端的网站
image.png

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

12、编译前端部分的静态文件,使用命令行:npm run build,然后把打包好的 build 内的文件部署到上面的 亚马逊云科技 S3,上传命令行:

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

13、完成上面的所有操作步骤之后,可以在 PC 或者手机浏览器中访问 亚马逊云科技 S3 网站,即可体验效果
image.png

以上就是本次关于搭建类 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,知乎,自媒体平台,第三方开发者媒体等亚马逊云科技官方渠道

三掌柜
20.1k 声望6.6k 粉丝

一分耕耘,不一定有一分收获,但十分耕耘,一定会有一分收获!