该存储库包含一个代码示例,用于部署一个应用程序,该应用程序可以对一些常见语言对的翻译句子进行质量评估。该应用程序采用源句子及其翻译对应内容,并使用大型语言模型来执行一些质量评估并提供红色、琥珀色或绿色评级。该应用程序还将呈现法学硕士的推理以及它识别出的错误列表。
此应用程序的预期用途是评估通用语言对的机器翻译模型的质量,其中绿色评级不需要人工干预。 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 托管选择“删除应用程序”操作。