Este repositório contém um exemplo de código para implantar um aplicativo que pode realizar avaliação de qualidade de frases traduzidas de alguns pares de idiomas comuns. O aplicativo pega uma frase original e sua contraparte traduzida e usa um modelo de linguagem grande para realizar alguma avaliação de qualidade e fornecer uma classificação VERMELHA, ÂMBAR ou VERDE. O aplicativo também apresentará o raciocínio do LLM, bem como uma lista de erros que ele identifica.
O uso pretendido deste aplicativo é avaliar a qualidade de modelos traduzidos automaticamente para pares de idiomas comuns onde uma classificação VERDE não precisa de intervenção humana. Uma classificação AMBER requer algumas correções, mas a intenção da frase é mantida na tradução. Uma classificação RED identifica traduções de baixa qualidade que não são utilizáveis ou alteram o significado da frase original.
Este aplicativo tem como objetivo mostrar algumas das habilidades interessantes dos LLMs multilíngues e não se destina a ser um sistema pronto para produção.
Para implantar este aplicativo, precisamos de uma conta AWS com acesso a modelos Bedrock específicos da Bedrock. Para habilitar os modelos necessários siga estas etapas:
Faça login no Console AWS da conta que você usará.
Mude para a região na qual você deseja implantar. Primeiro verifique se Bedrock está disponível naquela região e se os modelos que você usará também estão disponíveis (Claude 3 Sonnet e Llama2 Chat 70B por padrão)
Navegue até Bedrock no console e no menu suspenso vá para Model access
Selecione Modify model access
Na lista de modelos básicos selecione:
Verifique os termos e condições de ambos os modelos e se a sua utilização estará dentro destes.
Clique em Next
O acesso deve ser concedido imediatamente. Se o acesso não for concedido dentro de alguns minutos, entre em contato com o AWS Support.
Crie primeiro um ambiente virtual python com python3.12 -m venv .venv
A seguir, ative o ambiente virtual e instale os requisitos:
source .venv/bin/activate
pip install -r requirements.txt
Crie o aplicativo usando SAM CLI
sam build --template template.yaml
Isso primeiro criará o pacote para o aplicativo e criará uma pasta .aws-sam
localmente.
Implante os artefatos construídos. Para sua primeira implantação, use o sinalizador --guided
para responder a uma série de perguntas sobre a pilha. Esses parâmetros podem ser salvos localmente e reutilizados em implantações futuras.
sam deploy --guided --profile < AWS_PROFILE >
O primeiro parâmetro solicitado será o nome da pilha. Iremos nos referir a isso como $STACK_NAME
no restante deste documento. Isso iniciará a implantação do aplicativo em sua conta AWS especificada. A implantação deve levar menos de 15 minutos. Quando completo, um conjunto de saídas para a pilha for exibido, iremos usá-las na próxima etapa para configurar a UI.
Para configurar a UI, precisamos usar algumas das saídas da pilha.
Vá para o console da conta AWS que você implantou e navegue até Cloudformation e depois Stacks.
Localize a pilha $STACK_NAME
, abra-a e vá para a aba Outputs.
Localmente, abra ui/src/aws-exports.js
para editar o arquivo.
Preencha os seguintes valores em aws-exports.js
com as variáveis correspondentes na guia Outpts de Cloudformation Stacks:
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 ,
A seguir, precisamos criar um usuário no Amazon Cognito para acessar a aplicação. Abra o Amazon Cognito no console AWS e localize o grupo de usuários. Ele será nomeado UserPool-$UserPoolsId
. Na guia Usuários, selecione criar usuário e siga as etapas para configurar sua conta para acesso à IU.
Para construir o front-end localmente, execute:
cd ui
npm install
Você pode então hospedar o front-end localmente para fins de demonstração usando
npm run dev
Isso fornecerá um URL localhost para acessar o aplicativo.
Vá para a pasta dist na pasta ui, selecione manualmente todos os arquivos e crie um arquivo zip. Você pode renomeá-lo como ui.zip
Faça login no console AWS e navegue até AWS Amplify
Selecione Create new app
Escolha Deploy without Git
e Avançar
Vá para o seu repositório local e, na pasta ui
, execute:
npm run build
isso criará uma pasta ui/dist
.
Em seguida, compacte a pasta dist
cd dist
zip -r $STACK_NAME *
Volte para o console do AWS Amplify e carregue seu arquivo zip recém-criado e clique em Save and deploy
Em caso de sucesso, uma página aparecerá com um link Domain
, clique aqui e você será direcionado ao seu aplicativo implantado.
Use o usuário criado nas etapas anteriores para fazer login no aplicativo.
Para evitar cobranças futuras, limpe os recursos criados.
sam delete $STACK_NAME
Abra o AWS Amplify no console AWS e selecione a ação "excluir aplicativo" para sua hospedagem amplificada.