該存儲庫包含一個程式碼範例,用於部署一個應用程序,該應用程式可以對一些常見語言對的翻譯句子進行品質評估。該應用程式採用來源句子及其翻譯對應內容,並使用大型語言模型來執行一些品質評估並提供紅色、琥珀色或綠色評級。該應用程式還將呈現法學碩士的推理以及它識別出的錯誤清單。
此應用程式的預期用途是評估通用語言對的機器翻譯模型的質量,其中綠色評級不需要人工幹預。 AMBER 評分需要進行一些更正,但翻譯中保留了句子的意圖。紅色評級表示翻譯品質較差,無法使用或改變了來源句子的含義。
該應用程式旨在展示多語言法學碩士的一些有趣的能力,而不是作為一個生產就緒的系統。
要部署此應用程序,我們需要一個能夠存取 Bedrock 特定 Bedrock 模型的 AWS 帳戶。若要啟用必要的模型,請執行下列步驟:
登入您將使用的帳戶的 AWS 控制台。
切換到您要部署到的區域。首先檢查 Bedrock 是否在該地區可用,以及您將使用的模型也可用(預設為 Claude 3 Sonnet 和 Llama2 Chat 70B)
導航到控制台上的基岩,然後從下拉式選單中前往Model access
選擇Modify model access
從基本型號清單中選擇:
檢查兩種型號的條款和條件,以及您的使用情況是否在這些範圍內。
按一下Next
應立即授予存取權限。如果幾分鐘內未授予存取權限,請聯絡 AWS Support。
先建立一個python虛擬環境python3.12 -m venv .venv
接下來,啟動虛擬環境並安裝要求:
source .venv/bin/activate
pip install -r requirements.txt
使用 SAM CLI 建立應用程式
sam build --template template.yaml
這將首先建立應用程式的套件並在本地建立.aws-sam
資料夾。
部署建置的工件。對於您的第一次部署,請使用--guided
標誌來回答有關堆疊的一系列問題。這些參數可以保存在本地並在將來的部署中重複使用。
sam deploy --guided --profile < AWS_PROFILE >
請求的第一個參數將是堆疊名稱。在本文檔的其餘部分中,我們將其稱為$STACK_NAME
這將開始將應用程式部署到您指定的 AWS 帳戶。部署時間應少於 15 分鐘。完成後,將顯示堆疊的一組輸出,我們將在下一步中使用它們來配置 UI。
為了配置 UI,我們需要使用一些堆疊輸出。
前往您部署到的 AWS 帳戶的控制台,導覽至 Cloudformation,然後導覽至 Stacks。
找到堆疊$STACK_NAME
,將其開啟並轉到「輸出」標籤。
在本地,打開ui/src/aws-exports.js
編輯該檔案。
使用 Cloudformation Stacks 的 Outpts 標籤上的對應變數填入aws-exports.js
中的以下值:
aws_project_region: $Region ,
aws_cognito_region: $Region ,
aws_user_files_s3_bucket_region: $Region ,
aws_user_files_s3_bucket: $S3Bucket ,
aws_cloud_logic_custom: [
{
name: " api " ,
endpoint: " $Endpoint " ,
},
],
aws_user_pools_id: $UserPoolsId ,
aws_cognito_identity_pool_id: $IdentityPoolId ,
aws_user_pools_web_client_id: $UserPoolsWebClientId ,
接下來,我們需要在 Amazon Cognito 中建立一個使用者來存取該應用程式。在 AWS 主控台中開啟 Amazon Cognito 並找到使用者池。它將被命名為UserPool-$UserPoolsId
。在「使用者」標籤下,選擇「建立使用者」並依照步驟設定您的帳戶以進行 UI 存取。
要在本地運行建置前端:
cd ui
npm install
然後,您可以使用以下命令在本機託管前端以進行演示
npm run dev
這將提供一個本機主機 URL 來存取該應用程式。
轉到 ui 資料夾下的 dist 資料夾,手動選擇所有檔案並建立 zip 檔案。您可以將其重新命名為 ui.zip
登入 AWS 主控台並導覽至 AWS Amplify
選擇Create new app
選擇Deploy without Git
然後選擇“下一步”
轉到本地存儲庫,然後從ui
資料夾中運行:
npm run build
這將建立一個ui/dist
資料夾。
接下來,壓縮 dist 資料夾
cd dist
zip -r $STACK_NAME *
返回 AWS Amplify 控制台並上傳新建立的 zip 文件,然後按一下Save and deploy
成功後,將出現一個帶有Domain
連結的頁面,點擊此連結將帶您進入已部署的應用程式。
使用前面步驟中建立的使用者登入應用程式。
為避免將來產生費用,請清理已建立的資源。
sam delete $STACK_NAME
在 AWS 控制台中開啟 AWS Amplify,然後為您的 Amplify 託管選擇「刪除應用程式」操作。