博客 / 詳情

返回

我的天,亞馬遜雲科技的Lambda還可以這麼玩?!

目錄

  • 引言
  • 定義: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,知乎,自媒體平台,第三方開發者媒體等亞馬遜雲科技官方渠道
user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.