このリポジトリには、いくつかの共通言語ペアから翻訳された文の品質評価を実行できるアプリケーションをデプロイするためのコード サンプルが含まれています。アプリケーションは原文とその翻訳文を取得し、大規模言語モデルを使用して品質評価を実行し、RED、AMBER、または GREEN の評価を提供します。アプリケーションは、LLM の推論と、特定したエラーのリストも表示します。
このアプリケーションの使用目的は、人間の介入を必要としない GREEN 評価における共通言語ペアの機械翻訳モデルの品質を評価することです。 AMBER 評価にはいくつかの修正が必要ですが、文の意図は翻訳内で維持されます。 RED 評価は、使用できない、または原文の意味を変える低品質の翻訳を示します。
このアプリケーションは、多言語 LLM の興味深い機能の一部を紹介することを目的としており、実稼働対応のシステムであることを目的としたものではありません。
このアプリケーションをデプロイするには、Bedrock 固有の Bedrock モデルにアクセスできる AWS アカウントが必要です。必要なモデルを有効にするには、次の手順に従います。
使用するアカウントの AWS コンソールにログインします。
デプロイ先のリージョンに切り替えます。まず、Bedrock がその地域で利用可能かどうか、および使用するモデルも利用可能であることを確認します (デフォルトでは Claude 3 Sonnet および Llama2 Chat 70B)。
コンソールの Bedrock に移動し、ドロップダウン メニューからModel access
に移動します。
Modify model access
を選択します
基本モデルのリストから次を選択します。
両モデルの利用規約を確認し、その範囲内でのご利用をお願いいたします。
Next
をクリックします。アクセスは直ちに許可されます。数分以内にアクセスが許可されない場合は、AWS サポートにお問い合わせください。
まずpython3.12 -m venv .venv
で Python 仮想環境を作成します。
次に、仮想環境をアクティブ化し、要件をインストールします。
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
を開いてファイルを編集します。
aws-exports.js
の次の値を、Cloudformation スタックの [Outpts] タブの対応する変数とともに入力します。
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 ホスティングの「アプリの削除」アクションを選択します。