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

更新於 發佈於 閱讀時間約 2 分鐘

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

  本次來實踐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 提供對話功能,整體架構如下圖。

raw-image

二. 實踐流程  

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

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

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

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

   DynamoDB 的内联策略。"

raw-image

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

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

raw-image

  

  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的不同有這不同的溝通方式,我想我會先保留這些已建置好的資源,或許後續的實踐中能逐漸加入更多的功能。

avatar-img
8會員
21內容數
AI、電腦視覺、圖像處理、AWS等等持續學習時的學習筆記,也包含一些心得,主要是幫助自己學習,若能同時幫助到不小心來到這裡的人,那也是好事一件 : )
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續xxxx,ChatGPT 產生的程式,我們將它匯入 Colab 執行看看 ( Colab 使用教學見 使用Meta釋出的模型,實作Chat GPT - Part 0
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續 xxx ,ChatGPT 除了產生程式周邊的文字描述,事實上它還會回覆程式語法的指令 : !pip install scikit-learn import nu
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 想要操作ChatGPT,我們可以參考OpenAI的範例: https://platform.openai.com/examples/default-sql-trans
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 23示範了ChatGPT回答的能力,現在我們來看看ChatGPT撰寫程式的能力。 嘗試問以下問題:Write a detailed
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 22解釋Foundation Model與Engines意涵後,我們來試用看看ChatGPT。 嘗試問以下問題:Provide a
本篇文章將介紹如何使用Lambda建立Pre-Sign URL 的簡單範例,讓讀者瞭解如何自行發揮。
Thumbnail
本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範
Thumbnail
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續xxxx,ChatGPT 產生的程式,我們將它匯入 Colab 執行看看 ( Colab 使用教學見 使用Meta釋出的模型,實作Chat GPT - Part 0
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續 xxx ,ChatGPT 除了產生程式周邊的文字描述,事實上它還會回覆程式語法的指令 : !pip install scikit-learn import nu
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 想要操作ChatGPT,我們可以參考OpenAI的範例: https://platform.openai.com/examples/default-sql-trans
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 23示範了ChatGPT回答的能力,現在我們來看看ChatGPT撰寫程式的能力。 嘗試問以下問題:Write a detailed
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 延續AI說書 - 從0開始 - 22解釋Foundation Model與Engines意涵後,我們來試用看看ChatGPT。 嘗試問以下問題:Provide a
本篇文章將介紹如何使用Lambda建立Pre-Sign URL 的簡單範例,讓讀者瞭解如何自行發揮。
Thumbnail
本篇使用 AWS Lambda 結合 Amazon Bedrock 和 Claude 3 來分析儲存在 Amazon S3 中的圖像的示範
Thumbnail
實驗目的:Lambda@Edge (L@E) 讓 CLoudFront (CF) 回源時,自動選擇較近的 S3 region 回源
Thumbnail
在沒有分環境之前,每一隻lambda只有一個code console給所有人一起編輯,開發好了就deploy,根據設定的trigger觸發執行。 現在我們希望能夠在code console開發,然後deploy到不同的stage,目標是不同stage的api gateway能夠調用該lambda的