Ce référentiel contient un exemple de code permettant de déployer une application capable d'effectuer une évaluation de la qualité des phrases traduites à partir de certaines paires de langues courantes. L'application prend une phrase source et sa contrepartie traduite et utilise un grand modèle linguistique pour effectuer une évaluation de la qualité et fournir une note ROUGE, AMBRE ou VERTe. L'application restituera également le raisonnement du LLM ainsi qu'une liste des erreurs qu'il identifie.
L'utilisation prévue de cette application est d'évaluer la qualité des modèles traduits automatiquement pour les paires de langues courantes où une note VERTE ne nécessite aucune intervention humaine. Une notation AMBRE nécessite quelques corrections mais l'intention de la phrase est conservée dans la traduction. Une note ROUGE identifie des traductions de mauvaise qualité qui ne sont pas utilisables ou qui modifient le sens de la phrase source.
Cette application est destinée à présenter certaines des capacités intéressantes des LLM multilingues et n'est pas destinée à être un système prêt pour la production.
Pour déployer cette application, nous avons besoin d'un compte AWS avec accès aux modèles Bedrock spécifiques à Bedrock. Pour activer les modèles nécessaires, procédez comme suit :
Connectez-vous à la console AWS pour le compte que vous utiliserez.
Basculez vers la région dans laquelle vous souhaitez déployer. Vérifiez d'abord si Bedrock est disponible dans cette région et que les modèles que vous utiliserez sont également disponibles (Claude 3 Sonnet et Llama2 Chat 70B par défaut)
Accédez à Bedrock sur la console et dans le menu déroulant, accédez à Model access
Sélectionnez Modify model access
Dans la liste des modèles de base, sélectionnez :
Vérifiez les termes et conditions des deux modèles et assurez-vous que votre utilisation s'y conforme.
Cliquez sur Next
. L'accès doit être accordé immédiatement. Si l'accès n'est pas accordé au bout de quelques minutes, contactez AWS Support.
Créez d'abord un environnement virtuel python avec python3.12 -m venv .venv
Ensuite, activez l'environnement virtuel et installez la configuration requise :
source .venv/bin/activate
pip install -r requirements.txt
Créez l'application à l'aide de SAM CLI
sam build --template template.yaml
Cela créera d'abord le package pour l'application et créera un dossier .aws-sam
localement.
Déployez les artefacts construits. Pour votre premier déploiement, utilisez l'indicateur --guided
pour répondre à une série de questions sur la pile. Ces paramètres peuvent être enregistrés localement et réutilisés dans de futurs déploiements.
sam deploy --guided --profile < AWS_PROFILE >
Le premier paramètre demandé sera le nom de la pile. Nous l'appellerons $STACK_NAME
dans le reste de ce document. Cela commencera le déploiement de l'application sur votre compte AWS spécifié. Le déploiement devrait prendre moins de 15 minutes. Une fois terminé, un ensemble de sorties pour la pile sera affiché, nous les utiliserons à l'étape suivante pour configurer l'interface utilisateur.
Pour configurer l'interface utilisateur, nous devons utiliser certaines des sorties de la pile.
Accédez à la console du compte AWS sur lequel vous avez déployé et accédez à Cloudformation puis à Stacks.
Localisez la pile $STACK_NAME
, ouvrez-la et accédez à l'onglet Sorties.
Localement, ouvrez ui/src/aws-exports.js
pour modifier le fichier.
Remplissez les valeurs suivantes dans aws-exports.js
avec les variables correspondantes dans l'onglet Sorties 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 ,
Ensuite, nous devons créer un utilisateur dans Amazon Cognito pour accéder à l'application. Ouvrez Amazon Cognito dans la console AWS et localisez le groupe d'utilisateurs. Il sera nommé UserPool-$UserPoolsId
. Sous l'onglet Utilisateurs, sélectionnez Créer un utilisateur et suivez les étapes pour configurer votre compte pour l'accès à l'interface utilisateur.
Pour créer le front-end localement, exécutez :
cd ui
npm install
Vous pouvez ensuite héberger le frontal localement à des fins de démonstration en utilisant
npm run dev
Cela fournira une URL d'hôte local pour accéder à l'application.
Accédez au dossier dist sous le dossier ui, sélectionnez manuellement tous les fichiers et créez un fichier zip. Vous pouvez le renommer ui.zip
Connectez-vous à la console AWS et accédez à AWS Amplify
Sélectionnez Create new app
Choisissez Deploy without Git
puis Suivant
Accédez à votre référentiel local et, depuis le dossier ui
, exécutez :
npm run build
cela créera un dossier ui/dist
.
Ensuite, compressez le dossier dist
cd dist
zip -r $STACK_NAME *
Revenez à la console AWS Amplify et téléchargez votre fichier zip nouvellement créé, puis cliquez sur Save and deploy
En cas de succès, une page apparaîtra avec un lien Domain
, cliquez dessus et elle vous mènera à votre application déployée.
Utilisez l'utilisateur créé lors des étapes précédentes pour vous connecter à l'application.
Pour éviter d'encourir des frais futurs, veuillez nettoyer les ressources créées.
sam delete $STACK_NAME
Ouvrez AWS Amplify dans la console AWS et sélectionnez l'action « supprimer l'application » pour votre hébergement Amplify.