目錄
- 引言
- 定義: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,知乎,自媒體平台,第三方開發者媒體等亞馬遜雲科技官方渠道