1. Einführung
In diesem Codelab habe ich die Schritte zum Erstellen einer Web-App aufgeführt, mit der Sie Textzusammenfassungen mit der Vertex AI Large Language Model for Text Generation API ( text-bison) in einem SvelteKit-Framework erstellen können. Folgende Dienste und Technologien werden verwendet:
- SvelteKit: Ein Webanwendungs-Framework, das auf Svelte aufbaut.
- Vertex AI PaLM 2 API: Eine API für Large Language Models (LLMs), die Zugriff auf das PaLM 2-Modell von Google AI bietet.
- Cloud Functions: Eine serverlose Plattform zum Ausführen von Funktionen, ohne dass Sie Server verwalten müssen.
- Cloud Run: Eine serverlose Plattform zum Ausführen von containerisierten Anwendungen.
Aufgaben
Sie erstellen
- Eine Python Cloud Functions-Funktion wird verwendet, um die Palm API aufzurufen.
- Eine Svelte-Webanwendung für die Benutzeroberfläche zur Interaktion mit der Vertex AI API über die Cloud Functions-Funktion
- Ein Cloud Run-Dienst zum serverlosen Bereitstellen der oben erstellten App
2. Voraussetzungen
3. Hinweis
- Wählen Sie in der Google Cloud Console auf der Seite zur Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
- Die Abrechnung für das Cloud-Projekt muss aktiviert sein. So prüfen Sie, ob die Abrechnung für ein Projekt aktiviert ist
- Sie verwenden Cloud Shell, eine Befehlszeilenumgebung, die in Google Cloud ausgeführt wird, um mit den Google Cloud-Diensten zu interagieren. Informationen zu gcloud-Befehlen und deren Verwendung finden Sie in der Dokumentation. Klicken Sie in der Cloud Console rechts oben auf „Cloud Shell aktivieren“:

Wenn Ihr Projekt nicht festgelegt ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
- Prüfen Sie, ob alle erforderlichen APIs aktiviert sind, indem Sie den folgenden Befehl im Cloud Shell-Terminal ausführen:
gcloud services enable cloudbuild.googleapis.com \
run.googleapis.com \
cloudfunctions.googleapis.com \
aiplatform.googleapis.com
- Erstellen Sie Umgebungsvariablen für REGION und PROJECT_ID, indem Sie den folgenden Befehl im Cloud Shell-Terminal ausführen:
export PROJECT_ID=<your project id>
export REGION=asia-south1
4. Cloud-Funktion zum Aufrufen der Vertex AI API
Wir erstellen eine Python Cloud Functions-Funktion und rufen die Vertex AI API in dieser Funktion auf.
Neues Dienstkonto erstellen
Erstellen Sie ein neues Dienstkonto, indem Sie den folgenden Befehl im Cloud Shell-Terminal ausführen.
gcloud iam service-accounts create vertex-service-acc
Um Zugriff auf Ihr Projekt und Ihre Ressourcen zu gewähren, weisen Sie dem Dienstkonto eine Rolle zu.
gcloud projects add-iam-policy-binding ${PROJECT_ID} --member="serviceAccount:vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com" --role=roles/ml.developer
Gewähren Sie Ihrem Google-Konto eine Rolle, mit der Sie die Rollen des Dienstkontos verwenden und das Dienstkonto an andere Ressourcen anhängen können. Ersetzen Sie USER_EMAIL durch die E‑Mail-ID Ihres Google-Kontos.
gcloud iam service-accounts add-iam-policy-binding vertex-service-acc@${PROJECT_ID}.iam.gserviceaccount.com --member="user:USER_EMAIL" --role=roles/iam.serviceAccountUser
Python-Funktion erstellen
Das PaLM 2-Modell für Text ist ideal für Aufgaben, die mit einer einzigen API-Antwort ausgeführt werden können, ohne dass eine kontinuierliche Unterhaltung erforderlich ist. Erstellen wir nun die Cloud Functions-Funktion dafür.
Erstellen Sie mit Cloud Shell ein neues Verzeichnis und rufen Sie es auf. Verwenden Sie dasselbe Terminal, das Sie im vorherigen Abschnitt geöffnet haben:
mkdir vertex-ai-functions
cd vertex-ai-functions
Erstellen Sie eine Datei „main.py“ zum Schreiben der Python Cloud Functions-Funktion und eine Datei „requirements.txt“ zum Speichern von Abhängigkeiten.
touch main.py requirements.txt
In dieser Python-Datei wird eine einfache HTTP-Cloud Functions-Funktion definiert, die ein Vertex AI-Modell zur Textgenerierung verwendet, um kurze Zusammenfassungen von Texteingaben zu generieren. Die Funktion verwendet eine Texteingabe als Parameter und gibt eine kurze Zusammenfassung der Eingabe zurück. Die Funktion verwendet verschiedene Parameter, um den Generierungsprozess zu steuern, z. B. die Kreativität, Vielfalt und Flüssigkeit des generierten Texts. Die HTTP Cloud Functions-Funktion akzeptiert ein Anfrageobjekt und gibt die Zusammenfassung des Modells als Antwort zurück.
Öffnen Sie den Google Cloud-Editor. Sie können den Editor öffnen, indem Sie einen neuen Google Cloud Console-Tab öffnen, auf die Schaltfläche CLOUD SHELL AKTIVIEREN klicken und dann, wenn das Terminal geladen wird, schnell auf die Schaltfläche EDITOR ÖFFNEN klicken, wie im Bild unten dargestellt:

Wenn der Editor geöffnet wird, sollte die Datei „main.py“ angezeigt werden. Ersetzen Sie den Inhalt durch den Code aus diesem Repository Link. Die Erklärung für den Code ist als Codekommentare enthalten. Zusammenfassend lässt sich sagen, dass dieser Code eine prägnante Möglichkeit bietet, kurze Zusammenfassungen von Texteingaben mit Vertex AI zu generieren.
Die Datei „requirements.txt“ enthält Paketabhängigkeiten: „functions-framework==3.*“: Sorgt dafür, dass die Funktion die neuesten Funktionen und Fehlerkorrekturen des Functions Framework verwendet. google-cloud-aiplatform: Erforderlich für die Verwendung des Vertex AI-Modells zur Textgenerierung.
Fügen Sie Folgendes in die Datei „requirements.txt“ ein:
functions-framework==3.*
google-cloud-aiplatform
In Cloud Functions bereitstellen
Stellen wir diesen Quellcode nun in Cloud Functions bereit. Führen Sie im Cloud Shell-Terminal den folgenden Befehl aus:
gcloud functions deploy vertex-ai-function \
--gen2 \
--runtime=python311 \
--region=${REGION} \
--source=. \
--entry-point=hello_vertex \
--trigger-http \
--allow-unauthenticated \
--max-instances=30
Rufen Sie die Cloud Functions-Konsole über die Suchleiste auf:

Dadurch wird die Cloud Functions-Funktion „vertex-ai-function“ aufgelistet, die wir gerade erstellt haben. Die öffentliche URL wird auf der Funktionsseite angegeben. Damit verbinden wir unser Frontend und die Vertex AI API. Speichern Sie diese URL. Möglicherweise müssen Sie auch nicht authentifizierten Zugriff auf den zugrunde liegenden Cloud Run-Dienst zulassen. Aus Sicherheitsgründen wird empfohlen, einen authentifizierten Dienst zu verwenden.
5. Frontend erstellen und bereitstellen
Diese App bietet eine Frontend-Schnittstelle für die Interaktion mit unserer Vertex AI API über Google Cloud Functions. Lassen Sie uns das jetzt erstellen.
Repository klonen und Dockerfile einrichten
Wechseln Sie zum Stammverzeichnis und klonen Sie das Git-Repository.
cd ~/
git clone https://github.com/bhaaratkrishnan/vertex-summarizer-svelte.git
cd vertex-summarizer-svelte
Um diese Anwendung auszuführen, müssen Sie die Umgebungsvariable PUBLIC_FUNCTION_URL in Dockerfile hinzufügen. Diese URL ist die Cloud-Funktions-URL, die im vorherigen Abschnitt erstellt und gespeichert wurde.
Öffnen Sie Cloud Editor und bearbeiten Sie den Inhalt der Dockerfile-Datei. Ersetzen Sie die Variable PUBLIC_FUNCTION_URL durch Ihre Cloud Functions-URL.

Frontend in Cloud Run bereitstellen
Wir verwenden Google Artifact Registry, um unsere Docker-Images zu erstellen und zu speichern. Cloud Run wird zum Bereitstellen der Container in der serverlosen Architektur verwendet.
Erstellen Sie ein Artifact Registry-Repository, indem Sie den folgenden Befehl im Cloud Shell-Terminal ausführen:
gcloud artifacts repositories create vertex-repo --repository-format=docker --location=${REGION}
Erstellen Sie eine Umgebungsvariable für die Artifact Registry-Repository-URL.
export DOCKER_URL=${REGION}-docker.pkg.dev/${PROJECT_ID}/vertex-repo/vertex-summarizer-image
Erstellen Sie den Docker-Container und taggen Sie ihn mit dem Speicherort des Artifact Registry-Repositorys. Wenn Sie das Docker-Image mit einem Repository-Namen taggen, wird der Befehl „docker push“ zum Hochladen des Images an einen bestimmten Speicherort konfiguriert.
docker build . -t ${DOCKER_URL}
Übertragen Sie das Image per Push in Artifact Registry.
docker push ${DOCKER_URL}
Docker-Container in Cloud Run bereitstellen
gcloud run deploy vertex-summarizer --allow-unauthenticated --platform=managed --region=${REGION} --image=${DOCKER_URL}
Yaay!! Vertex Summarizer ist einsatzbereit. Die URL wird in Cloud Shell angezeigt. Viel Spaß beim Erkunden von Vertex AI. 🤖

6. Bereinigen
So vermeiden Sie, dass Ihrem Google Cloud-Konto die in diesem Beitrag verwendeten Ressourcen in Rechnung gestellt werden:
- Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.
- Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie dann auf „Löschen“.
- Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf „Beenden“, um das Projekt zu löschen.
- Wenn Sie das Projekt behalten und nur den Cloud Run-Dienst löschen möchten, folgen Sie diesem Schritt.
- Wenn Sie nur die Cloud-Funktion löschen oder den Zugriff widerrufen möchten, können Sie das hier tun.
7. Glückwunsch
Glückwunsch! Sie haben erfolgreich eine Vertex AI PaLM2 API verwendet, um programmatisch Text zusammenzufassen, eine Svelte-Web-App zu erstellen und in Cloud Functions bereitzustellen. Weitere Informationen zu den verfügbaren Modellen finden Sie in der Produktdokumentation zu Vertex AI LLM.