Этот репозиторий содержит образец кода для развертывания приложения, которое может выполнять оценку качества переведенных предложений из некоторых распространенных языковых пар. Приложение берет исходное предложение и его переведенный аналог и использует большую языковую модель для выполнения некоторой оценки качества и присвоения КРАСНОГО, ЖЕЛТОГО или ЗЕЛЕНОГО рейтинга. Приложение также отображает доводы LLM, а также список выявленных ошибок.
Предполагаемое использование этого приложения — оценка качества моделей машинного перевода для общеязыковых пар, где ЗЕЛЕНЫЙ рейтинг не требует вмешательства человека. Рейтинг AMBER требует некоторых исправлений, но суть предложения в переводе сохраняется. Рейтинг RED указывает на переводы низкого качества, которые невозможно использовать или которые меняют смысл исходного предложения.
Это приложение предназначено для демонстрации некоторых интересных возможностей многоязычных программ LLM и не предназначено для использования в качестве готовой к использованию системы.
Для развертывания этого приложения нам нужна учетная запись AWS с доступом к конкретным моделям Bedrock. Чтобы включить необходимые модели, выполните следующие действия:
Войдите в консоль AWS для учетной записи, которую вы будете использовать.
Переключитесь на регион, в котором вы хотите выполнить развертывание. Сначала проверьте, доступен ли Bedrock в этом регионе и доступны ли модели, которые вы будете использовать (по умолчанию Claude 3 Sonnet и Llama2 Chat 70B).
Перейдите в Bedrock на консоли и в раскрывающемся меню выберите Model access
Выберите Modify model access
Из списка базовых моделей выберите:
Проверьте условия обеих моделей и убедитесь, что вы используете их.
Нажмите Next
. Доступ должен быть предоставлен немедленно. Если доступ не будет предоставлен в течение нескольких минут, обратитесь в службу поддержки AWS.
Сначала создайте виртуальную среду 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 минут. По завершении будет отображен набор выходных данных для стека, мы будем использовать их на следующем шаге для настройки пользовательского интерфейса.
Чтобы настроить пользовательский интерфейс, нам нужно использовать некоторые выходные данные стека.
Перейдите в консоль учетной записи AWS, в которой вы выполнили развертывание, и перейдите в Cloudformation, а затем в Stacks.
Найдите стек $STACK_NAME
, откройте его и перейдите на вкладку «Выходы».
Локально откройте ui/src/aws-exports.js
чтобы отредактировать файл.
Заполните следующие значения в aws-exports.js
соответствующими переменными на вкладке Outpts в 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 ,
Далее нам нужно создать пользователя в Amazon Cognito для доступа к приложению. Откройте Amazon Cognito в консоли AWS и найдите пул пользователей. Он будет называться UserPool-$UserPoolsId
. На вкладке «Пользователи» выберите «Создать пользователя» и следуйте инструкциям, чтобы настроить свою учетную запись для доступа к пользовательскому интерфейсу.
Чтобы создать интерфейс локально, запустите:
cd ui
npm install
Затем вы можете разместить внешний интерфейс локально для демонстрационных целей, используя
npm run dev
Это предоставит URL-адрес локального хоста для доступа к приложению.
Перейдите в папку dist в папке ui, вручную выберите все файлы и создайте 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 Amplify в консоли AWS и выберите действие «удалить приложение» для вашего хостинга amplify.