Este repositorio contiene un ejemplo de código para implementar una aplicación que puede realizar una evaluación de la calidad de oraciones traducidas de algunos pares de idiomas comunes. La aplicación toma una oración fuente y su contraparte traducida y utiliza un modelo de lenguaje grande para realizar algunas evaluaciones de calidad y proporcionar una calificación ROJA, ÁMBAR o VERDE. La aplicación también presentará el razonamiento del LLM, así como una lista de errores que identifica.
El uso previsto de esta aplicación es evaluar la calidad de los modelos traducidos automáticamente para pares de idiomas comunes donde una calificación VERDE no necesita intervención humana. Una calificación ÁMBAR requiere algunas correcciones pero la intención de la oración se mantiene en la traducción. Una calificación ROJA identifica traducciones de mala calidad que no son utilizables o cambian el significado de la oración original.
Esta aplicación está destinada a mostrar algunas de las capacidades interesantes de los LLM multilingües y no pretende ser un sistema listo para producción.
Para implementar esta aplicación necesitamos una cuenta de AWS con acceso a los modelos Bedrock específicos de Bedrock. Para habilitar los modelos necesarios siga estos pasos:
Inicie sesión en la consola de AWS para la cuenta que utilizará.
Cambie a la región en la que desea implementar. Primero verifica si Bedrock está disponible en esa región y que los modelos que usarás también están disponibles (Claude 3 Sonnet y Llama2 Chat 70B por defecto)
Navegue a Bedrock en la consola y en el menú desplegable vaya a Model access
Seleccione Modify model access
De la lista de modelos base seleccione:
Consulta los términos y condiciones de ambos modelos y que tu uso estará dentro de estos.
Haga clic en Next
El acceso debería otorgarse inmediatamente. Si no se concede el acceso en unos minutos, póngase en contacto con AWS Support.
Primero cree un entorno virtual de Python con python3.12 -m venv .venv
A continuación, active el entorno virtual e instale los requisitos:
source .venv/bin/activate
pip install -r requirements.txt
Construya la aplicación usando SAM CLI
sam build --template template.yaml
Esto primero compilará el paquete para la aplicación y creará una carpeta .aws-sam
localmente.
Implementar los artefactos construidos. Para su primera implementación, utilice el indicador --guided
para responder una serie de preguntas sobre la pila. Estos parámetros se pueden guardar localmente y reutilizar en implementaciones futuras.
sam deploy --guided --profile < AWS_PROFILE >
El primer parámetro solicitado será el nombre de la pila. Nos referiremos a esto como $STACK_NAME
en el resto de este documento. Esto comenzará a implementar la aplicación en su cuenta de AWS especificada. La implementación debería tardar menos de 15 minutos. Cuando se complete, se mostrará un conjunto de resultados para la pila, los usaremos en el siguiente paso para configurar la interfaz de usuario.
Para configurar la interfaz de usuario, necesitamos usar algunas de las salidas de la pila.
Vaya a la consola de la cuenta de AWS que implementó y navegue hasta Cloudformation y luego Stacks.
Localice la pila $STACK_NAME
, ábrala y vaya a la pestaña Salidas.
Localmente, abra ui/src/aws-exports.js
para editar el archivo.
Complete los siguientes valores en aws-exports.js
con las variables correspondientes en la pestaña Salidas 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 continuación, necesitamos crear un usuario en Amazon Cognito para acceder a la aplicación. Abra Amazon Cognito en la consola de AWS y busque el grupo de usuarios. Se llamará UserPool-$UserPoolsId
. En la pestaña Usuarios, seleccione crear usuario y siga los pasos para configurar su cuenta para el acceso a la interfaz de usuario.
Para construir el front-end localmente ejecute:
cd ui
npm install
Luego puede alojar el front-end localmente para fines de demostración utilizando
npm run dev
Esto proporcionará una URL de localhost para acceder a la aplicación.
Vaya a la carpeta dist en la carpeta ui, seleccione manualmente todos los archivos y cree un archivo zip. Puedes cambiarle el nombre a ui.zip.
Inicie sesión en la consola de AWS y navegue hasta AWS Amplify
Seleccione Create new app
Elija Deploy without Git
y luego Siguiente
Vaya a su repositorio local y, desde la carpeta ui
, ejecute:
npm run build
esto creará una carpeta ui/dist
.
Luego, comprime la carpeta dist
cd dist
zip -r $STACK_NAME *
Vuelva a la consola de AWS Amplify y cargue su archivo zip recién creado, luego presione Save and deploy
Si tiene éxito, aparecerá una página con un enlace Domain
, haga clic en él y lo llevará a la aplicación implementada.
Utilice el usuario creado en pasos anteriores para iniciar sesión en la aplicación.
Para evitar incurrir en cargos futuros, limpie los recursos creados.
sam delete $STACK_NAME
Abra AWS Amplify en la consola de AWS y seleccione la acción "eliminar aplicación" para su alojamiento de Amplify.