Chat-App mit der PaLM API in Cloud Run

1. Einführung

In diesem Codelab erfahren Sie, wie Sie eine KI-basierte Chat-App in einer Webanwendung als Cloud Run-Dienst in Google Cloud erstellen und bereitstellen. Mit dieser Chat-App können Nutzer mithilfe des Bison-Modells PaLM für Chat ( text-chat) Abfragen stellen und eine Antwort erhalten.

Aufgaben

Sie erstellen

  • Eine Umgebung in Google Cloud zum Ausführen der Anwendung
  • Ein Docker-Image für die Anwendung
  • Einen Cloud Run-Dienst, mit dem die Anwendung ausgeführt wird

2. Voraussetzungen

  • Ein Browser wie Chrome oder Firefox
  • Ein Google Cloud-Projekt mit aktivierter Abrechnung

3. Hinweis

  1. Wählen Sie in der Google Cloud Console auf der Seite für die Projektauswahl ein Google Cloud-Projekt aus oder erstellen Sie eines.
  2. Die Abrechnung für Ihr Google Cloud-Projekt muss aktiviert sein. Prüfen, ob die Abrechnung für ein Projekt aktiviert ist
  3. Aktivieren Sie Cloud Shell über die Google Cloud Console, indem Sie dieser Anleitung folgen.
  4. Wenn Ihr Projekt noch nicht eingerichtet ist, verwenden Sie den folgenden Befehl, um es festzulegen:
gcloud config set project <YOUR_PROJECT_ID>
  1. Legen Sie in Cloud Shell die folgenden Umgebungsvariablen fest:
export GCP_PROJECT=<YOUR_PROJECT_ID>
export GCP_REGION=us-central1
  1. Aktivieren Sie die erforderlichen Google Cloud APIs. Führen Sie dazu die folgenden Befehle im Cloud Shell-Terminal aus:
gcloud services enable cloudbuild.googleapis.com cloudfunctions.googleapis.com run.googleapis.com logging.googleapis.com storage-component.googleapis.com aiplatform.googleapis.com

4. Umgebung einrichten

  1. Wenn Sie den Beispielcode in Ihr Projekt kopieren möchten, klonen Sie das Repository in Cloud Shell:
git clone https://github.com/rominirani/genai-apptemplates-googlecloud
  1. Mit diesem Befehl wird der Repository-Inhalt in den Ordner „genai-templates-googlecloud“ geklont.
  2. Rufen Sie den Ordner des gewünschten Projekts auf, indem Sie im Cloud Shell-Terminal den folgenden Befehl ausführen:
cd genai-apptemplates-googlecloud/chat-flask-cloudrun
  1. Legen Sie die folgenden Umgebungsvariablen für die Initialisierung von Vertex AI fest:

GCP_PROJECT : Ihre Google Cloud-Projekt-ID. Beispiel: my_project.

GCP_REGION : Die Region, in der Sie die Cloud Functions-Funktion bereitstellen möchten. Beispiel: us-central1.

export GCP_PROJECT='YOUR_PROJECT'
export GCP_REGION='us-central1'

5. Docker-Image erstellen

So erstellen Sie ein Docker-Image für die Anwendung und übertragen es per Push in Artifact Registry:

  1. Legen Sie eine Umgebungsvariable für das Artifact Registry-Repository fest. Namen dürfen nur Kleinbuchstaben, Ziffern und Bindestriche enthalten und müssen mit einem Buchstaben beginnen und mit einem Buchstaben oder einer Ziffer enden. Beispiel: my-chat-app-repo.
export AR_REPO='my-chat-app-repo'
  1. Legen Sie eine Umgebungsvariable für Ihren Dienstnamen fest. Beispiel: chat-flask-app.
export SERVICE_NAME='chat-flask-app'
  1. Erstellen Sie Ihr Repository im Docker-Format.
gcloud artifacts repositories create "$AR_REPO" --location="$GCP_REGION" --repository-format=Docker
  1. Docker-Authentifizierung konfigurieren
gcloud auth configure-docker "$GCP_REGION-docker.pkg.dev"
  1. Image erstellen
gcloud builds submit --tag "$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME"
  1. Rufen Sie die Seite „Artifact Registry“ auf, um zu prüfen, ob das Image per Push an Artifact Registry übertragen wurde. Suchen Sie nach dem Repository, das Sie auf dieser Seite erstellt haben.

6. Anwendung bereitstellen

  1. Stellen Sie die Anwendung als Dienst in Cloud Run bereit.
gcloud run deploy "$SERVICE_NAME" \ 
--port=8080 \ 
--image="$GCP_REGION-docker.pkg.dev/$GCP_PROJECT/$AR_REPO/$SERVICE_NAME" \ 
--allow-unauthenticated \ 
--region=$GCP_REGION \ 
--platform=managed  \ 
--project=$GCP_PROJECT \ 
--set-env-vars=GCP_PROJECT=$GCP_PROJECT,GCP_REGION=$GCP_REGION

Dieser Schritt kann einige Sekunden dauern.

  1. Klicken Sie auf die Dienst-URL, um die Chat-Anwendung zu starten.

56c06b62e0ac95bf.png

Die Chat-Anwendung wird in einem neuen Tab geöffnet, wie im folgenden Screenshot dargestellt:

eebde9c35c171563.png

7. Bereinigen

So vermeiden Sie, dass Ihrem Google Cloud-Konto die in diesem Beitrag verwendeten Ressourcen in Rechnung gestellt werden:

  1. Rufen Sie in der Google Cloud Console die Seite Ressourcen verwalten auf.
  2. Wählen Sie in der Projektliste das Projekt aus, das Sie löschen möchten, und klicken Sie auf Löschen.
  3. Geben Sie im Dialogfeld die Projekt-ID ein und klicken Sie auf Beenden, um das Projekt zu löschen.
  4. Wenn Sie Ihr Projekt behalten möchten, überspringen Sie die obigen Schritte und löschen Sie den Cloud Run-Dienst. Rufen Sie dazu Cloud Run auf. Wählen Sie in der Liste der Dienste den Dienst aus, den Sie löschen möchten, und klicken Sie auf LÖSCHEN.

8. Glückwunsch

Glückwunsch! Sie haben eine KI-basierte Chat-App für eine Webanwendung als Cloud Run-Dienst in Google Cloud erstellt und bereitgestellt. Mit dieser Chat-App können Sie Nutzern die Möglichkeit geben, ihre Abfrage einzugeben. Die Anwendung ruft dann das Vertex AI-Chatmodell auf und gibt die Antwort ein.