2024-05-03|閱讀時間 ‧ 約 23 分鐘

使用AWS託管靜態網頁並連結GPT API

 鑒於本篇為第一篇文章,趁此機會說明下文章主要方向,我主要會過一遍官方範例,看看是否有沒有說明清楚的地方或不能使用的地方並調整,所以除了實踐的目標架構會為了說明清楚而挪用官網的說法外,在實踐階段,我會說明官網沒有說到或說明不清的部分。  

  本次來實踐AWS中使用Lambda來負責登入簽核及與OpenAI API溝通,並利用S3容器託管一個靜態網頁做為前端,官方練習網頁如下,就讓我們來看看實踐結果如何。 https://aws.amazon.com/cn/campaigns/build-your-own-chatgpt/


一. 整體架構    

  這次會用到4種AWS服務,首先是Lambda負責3個行為:登入、驗證、與API溝通,並使用API Gateway 來管控所有的呼叫,再來建置DynamoDB存放登入用帳密,建置S3容器來託管靜態網頁,另外還有一個外部的 OpenAI API 提供對話功能,整體架構如下圖。

二. 實踐流程  

  本次實踐有幾點第一次接觸可能會遇到的問題 :  

  1. 在login功能中,需要對其增加對DynamoDB的存取權,原話為

   "此函数将调用 DynamoDB 的 API 来验证用户名和密码,因此我们需要附加  

   AmazonDynamoDBReadOnlyAccess 策略或为此函数的执行角色创建访问  

   DynamoDB 的内联策略。"

    在這段若是不熟悉的人會找不太到該如何增加這個策略,此時需要點擊執行角 

  色名稱會跳轉到執行角色頁面,此時便會看到新增選項

  

  2. 因這幾個月 OpenAI API 有更新,官網提供的程式包內內置的api版本較舊,如果

  單純照範例做的話,會出現500、429、404等錯誤,主要需要修改server中 

  lambda_chat中定義的openai api 版本以及index中相關因 API 升級的函式用法差 

  異,我將修改後的代碼放置於我的Github


  3. 再來若需要使用OpenAI API , 需要提升 OpenAI 帳戶至付費方案(並非每月20 

  鎂的Plus會員,而是需要進行支付方式綁定,並預先付一點,這樣產生出來的Key才

  能正常使用,不然會一直反饋超流量等錯誤)。


三. 結語  

  本次實踐了整個過程,主要還是卡在API的版本升級,或許這篇的內容在幾個月後也會失效也不一定,但那不重要,主要是前半段的部分,包含S3靜態網頁託管,Lambda及Gateway的建立與使用,這些都是很常使用且擴展性很高的作法,至於串接的API本來就會因API的不同有這不同的溝通方式,我想我會先保留這些已建置好的資源,或許後續的實踐中能逐漸加入更多的功能。

分享至
成為作者繼續創作的動力吧!
這裡存放著AWS實際演練官方練習或後續想到更多應用時的筆記
從 Google News 追蹤更多 vocus 的最新精選內容從 Google News 追蹤更多 vocus 的最新精選內容

發表回應

成為會員 後即可發表留言
© 2024 vocus All rights reserved.