Dieses Repository enthält ein Codebeispiel zum Bereitstellen einer Anwendung, die eine Qualitätsbewertung übersetzter Sätze aus einigen gängigen Sprachpaaren durchführen kann. Die Anwendung nimmt einen Quellsatz und sein übersetztes Gegenstück und verwendet ein großes Sprachmodell, um eine Qualitätsbewertung durchzuführen und eine ROT-, BERNSTEIN- oder GRÜN-Bewertung bereitzustellen. Der Antrag gibt außerdem die Begründung des LLM sowie eine Liste der identifizierten Fehler wieder.
Die beabsichtigte Verwendung dieser Anwendung besteht darin, die Qualität maschinell übersetzter Modelle für gängige Sprachpaare zu bewerten, bei denen eine GRÜNE Bewertung kein menschliches Eingreifen erfordert. Eine AMBER-Bewertung erfordert einige Korrekturen, aber die Absicht des Satzes bleibt in der Übersetzung erhalten. Eine ROT-Bewertung kennzeichnet Übersetzungen von schlechter Qualität, die nicht verwendbar sind oder die Bedeutung des Ausgangssatzes verändern.
Diese Anwendung soll einige der interessanten Fähigkeiten mehrsprachiger LLMs demonstrieren und ist nicht als produktionsbereites System gedacht.
Um diese Anwendung bereitzustellen, benötigen wir ein AWS-Konto mit Zugriff auf Bedrock-spezifische Bedrock-Modelle. Um die erforderlichen Modelle zu aktivieren, befolgen Sie diese Schritte:
Melden Sie sich bei der AWS-Konsole für das Konto an, das Sie verwenden werden.
Wechseln Sie zu der Region, in der Sie die Bereitstellung durchführen möchten. Überprüfen Sie zunächst, ob Bedrock in dieser Region verfügbar ist und ob die von Ihnen verwendeten Modelle ebenfalls verfügbar sind (standardmäßig Claude 3 Sonnet und Llama2 Chat 70B).
Navigieren Sie auf der Konsole zu Bedrock und gehen Sie im Dropdown-Menü zu Model access
Wählen Sie Modify model access
Wählen Sie aus der Liste der Basismodelle Folgendes aus:
Überprüfen Sie die Allgemeinen Geschäftsbedingungen beider Modelle und stellen Sie sicher, dass Ihre Nutzung innerhalb dieser Bedingungen liegt.
Klicken Sie auf Next
. Der Zugriff sollte sofort gewährt werden. Wenn der Zugriff nicht innerhalb weniger Minuten gewährt wird, wenden Sie sich an den AWS-Support.
Erstellen Sie zunächst eine virtuelle Python-Umgebung mit python3.12 -m venv .venv
Als nächstes aktivieren Sie die virtuelle Umgebung und installieren die Anforderungen:
source .venv/bin/activate
pip install -r requirements.txt
Erstellen Sie die Anwendung mit der SAM-CLI
sam build --template template.yaml
Dadurch wird zunächst das Paket für die Anwendung erstellt und lokal ein .aws-sam
-Ordner erstellt.
Stellen Sie die erstellten Artefakte bereit. Verwenden Sie für Ihre erste Bereitstellung das Flag --guided
, um eine Reihe von Fragen zum Stack zu beantworten. Diese Parameter können lokal gespeichert und in zukünftigen Bereitstellungen wiederverwendet werden.
sam deploy --guided --profile < AWS_PROFILE >
Der erste angeforderte Parameter ist der Stack-Name. Wir werden dies im Rest dieses Dokuments als $STACK_NAME
bezeichnen. Dadurch wird mit der Bereitstellung der Anwendung auf Ihrem angegebenen AWS-Konto begonnen. Die Bereitstellung sollte weniger als 15 Minuten dauern. Wenn der Vorgang abgeschlossen ist, wird eine Reihe von Ausgaben für den Stapel angezeigt. Diese werden wir im nächsten Schritt verwenden, um die Benutzeroberfläche zu konfigurieren.
Um die Benutzeroberfläche zu konfigurieren, müssen wir einige der Stack-Ausgaben verwenden.
Gehen Sie zur Konsole für das AWS-Konto, für das Sie die Bereitstellung bereitgestellt haben, und navigieren Sie zu Cloudformation und dann zu Stacks.
Suchen Sie den Stack $STACK_NAME
, öffnen Sie ihn und wechseln Sie zur Registerkarte „Ausgaben“.
Öffnen Sie ui/src/aws-exports.js
lokal, um die Datei zu bearbeiten.
Füllen Sie die folgenden Werte in aws-exports.js
mit den entsprechenden Variablen auf der Registerkarte Outpts von Cloudformation Stacks aus:
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 ,
Als nächstes müssen wir einen Benutzer in Amazon Cognito erstellen, um auf die Anwendung zuzugreifen. Öffnen Sie Amazon Cognito in der AWS-Konsole und suchen Sie den Benutzerpool. Es wird UserPool-$UserPoolsId
heißen. Wählen Sie auf der Registerkarte „Benutzer“ die Option „Benutzer erstellen“ und befolgen Sie die Schritte zum Einrichten Ihres Kontos für den UI-Zugriff.
Um das Frontend lokal zu erstellen, führen Sie Folgendes aus:
cd ui
npm install
Anschließend können Sie das Frontend zu Demozwecken lokal hosten, indem Sie verwenden
npm run dev
Dadurch wird eine Localhost-URL für den Zugriff auf die Anwendung bereitgestellt.
Gehen Sie zum Ordner „dist“ im Ordner „ui“, wählen Sie alle Dateien manuell aus und erstellen Sie eine ZIP-Datei. Sie können es in ui.zip umbenennen
Melden Sie sich bei der AWS-Konsole an und navigieren Sie zu AWS Amplify
Wählen Sie Create new app
Wählen Sie Deploy without Git
und dann „Weiter“.
Gehen Sie zu Ihrem lokalen Repository und führen Sie im ui
-Ordner Folgendes aus:
npm run build
Dadurch wird ein ui/dist
-Ordner erstellt.
Als nächstes komprimieren Sie den dist-Ordner
cd dist
zip -r $STACK_NAME *
Gehen Sie zurück zur AWS Amplify-Konsole, laden Sie Ihre neu erstellte ZIP-Datei hoch und klicken Sie dann auf Save and deploy
Bei Erfolg wird eine Seite mit einem Domain
Link angezeigt. Klicken Sie darauf und Sie gelangen zu Ihrer bereitgestellten Anwendung.
Verwenden Sie den in den vorherigen Schritten erstellten Benutzer, um sich bei der Anwendung anzumelden.
Um zukünftige Gebühren zu vermeiden, bereinigen Sie bitte die erstellten Ressourcen.
sam delete $STACK_NAME
Öffnen Sie AWS Amplify in der AWS-Konsole und wählen Sie die Aktion „App löschen“ für Ihr Amplify-Hosting.