Die generative KI für Vertex AI (auch als genAI oder Gen AI bezeichnet) bietet Zugriff auf die generativen KI-Modelle von Google für mehrere Modalitäten (Text, Code, Bilder, Sprache). Sie können diese Large Language Models (LLMs) testen und optimieren und dann für die Verwendung in Ihren KI-gestützten Anwendungen bereitstellen. Weitere Informationen finden Sie in der Übersicht über die Unterstützung generativer KI für Vertex AI.
Vertex AI bietet eine Vielzahl von generativen KI-Foundation Models, auf die über eine API zugegriffen werden kann. Dazu gehören die in den folgenden Beispielen verwendeten Modelle:
- Gemini Pro wurde für Natural Language-Aufgaben, Text- und Code-Chats in mehreren Schritten und die Codegenerierung entwickelt.
- Gemini Pro Vision unterstützt multimodale Prompts. Sie können Text, Bilder und Videos in Ihre Anfragen aufnehmen und Text- oder Codeantworten abrufen.
- Das Pathways Language Model 2 (PaLM 2) für Text ist für Sprachaufgaben wie Klassifizierung, Zusammenfassung und Entitätsextraktion optimiert.
Jedes Modell wird über einen Publisher-Endpunkt bereitgestellt, der für Ihr Google Cloud-Projekt spezifisch ist. Daher muss das Foundation Model nicht bereitgestellt werden, es sei denn, Sie müssen es für einen bestimmten Anwendungsfall optimieren. Sie können einen Prompt an den Publisher-Endpunkt senden. Ein Prompt ist eine Anfrage in natürlicher Sprache, die an ein LLM gesendet wird, um eine Antwort auszulösen.
In dieser Anleitung werden Workflows veranschaulicht, bei denen Antworten von Vertex AI-Modellen generiert werden, indem entweder über einen Workflows-Connector oder eine HTTP-POST
-Anfrage Textprompts an die Publisher-Endpunkte gesendet werden. Weitere Informationen finden Sie unter Vertex AI API-Connector – Übersicht und HTTP-Anfrage stellen.
Hinweis: Sie können jeden Workflow unabhängig voneinander bereitstellen und ausführen.
Lernziele
In dieser Anleitung führen Sie die folgenden Schritte aus:
- Aktivieren Sie die Vertex AI API und die Workflows API und gewähren Sie Ihrem Dienstkonto die Rolle „Vertex AI User (
roles/aiplatform.user
)“. Diese Rolle ermöglicht den Zugriff auf die meisten Vertex AI-Funktionen. Weitere Informationen zur Einrichtung von Vertex AI finden Sie unter Google Cloud einrichten. - Einen Workflow bereitstellen und ausführen, bei dem ein Vertex AI-Modell (Gemini Pro Vision) aufgefordert wird, ein Bild zu beschreiben, das öffentlich über Cloud Storage verfügbar ist. Weitere Informationen finden Sie unter Daten veröffentlichen.
- Einen Workflow bereitstellen und ausführen, der parallel eine Liste von Ländern durchläuft und ein Vertex AI-Modell (Gemini Pro) auffordert, die Historien der Länder zu generieren und zurückzugeben. Mit parallelen Verzweigungen können Sie die Gesamtausführungszeit reduzieren, indem Sie die Aufrufe an die LLM gleichzeitig starten und warten, bis alle abgeschlossen sind, bevor Sie die Ergebnisse kombinieren. Weitere Informationen finden Sie unter Workflowschritte parallel ausführen.
- Stellen Sie einen Workflow bereit, der dem vorherigen ähnelt. Fordern Sie jedoch ein Vertex AI-Modell (PaLM 2 für Text) auf, die Geschichten der Länder zu generieren und zurückzugeben. Weitere Informationen zur Auswahl eines Modells finden Sie unter Modellinformationen.
- Einen Workflow bereitstellen, mit dem ein großes Dokument zusammengefasst werden kann. Da das Kontextfenster begrenzt ist, das festlegt, wie weit das Modell während des Trainings (und für Prognosen) zurückblickt, wird das Dokument im Workflow in kleinere Teile aufgeteilt und dann ein Vertex AI-Modell (Gemini Pro) aufgefordert, jeden Teil parallel zusammenzufassen. Weitere Informationen finden Sie unter Aufforderungen zur Zusammenfassung und Prognosezeitraum, Kontextfenster und Prognosefenster.
Kosten
In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:
Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.
Nach Abschluss der in diesem Dokument beschriebenen Aufgaben können Sie weitere Kosten vermeiden, indem Sie die erstellten Ressourcen löschen. Weitere Informationen finden Sie unter Bereinigen.
Hinweise
Bevor Sie die Beispiele in dieser Anleitung ausprobieren, müssen Sie Folgendes tun:
Console
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Vertex AI > Vertex AI User role to the service account.
To grant the role, find the Select a role list, then select Vertex AI > Vertex AI User.
- Click Continue.
-
Click Done to finish creating the service account.
-
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs.
-
Create a service account:
-
In the Google Cloud console, go to the Create service account page.
Go to Create service account - Select your project.
-
In the Service account name field, enter a name. The Google Cloud console fills in the Service account ID field based on this name.
In the Service account description field, enter a description. For example,
Service account for quickstart
. - Click Create and continue.
-
Grant the Vertex AI > Vertex AI User role to the service account.
To grant the role, find the Select a role list, then select Vertex AI > Vertex AI User.
- Click Continue.
-
Click Done to finish creating the service account.
-
gcloud
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs:
gcloud services enable aiplatform.googleapis.com
workflows.googleapis.com -
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/aiplatform.user
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/aiplatform.user
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Vertex AI and Workflows APIs:
gcloud services enable aiplatform.googleapis.com
workflows.googleapis.com -
Set up authentication:
-
Create the service account:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME
Replace
SERVICE_ACCOUNT_NAME
with a name for the service account. -
Grant the
roles/aiplatform.user
IAM role to the service account:gcloud projects add-iam-policy-binding PROJECT_ID --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" --role=roles/aiplatform.user
Replace the following:
SERVICE_ACCOUNT_NAME
: the name of the service accountPROJECT_ID
: the project ID where you created the service account
-
Workflow bereitstellen, der ein Bild beschreibt (Gemini Pro Vision)
Einen Workflow bereitstellen, der eine Connector-Methode (generateContent
) verwendet, um eine Anfrage an einen Gemini Pro Vision-Publisher-Endpunkt zu senden. Die Methode unterstützt die Inhaltsgenerierung mit multimodalen Eingaben.
Der Workflow enthält einen Textprompt und den URI eines Bildes, das in einem Cloud Storage-Bucket öffentlich verfügbar ist. Sie können sich das Bild ansehen und in der Google Cloud Console die Objektdetails.
Der Workflow gibt eine Beschreibung des Bilds aus der generierten Antwort des Modells zurück.
Weitere Informationen zu den HTTP-Anfragetextparametern, die beim Anfordern der LLM verwendet werden, und den Antworttextelementen finden Sie in der Gemini API-Referenz.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf
Erstellen.Geben Sie einen Namen für den neuen Workflow ein:
describe-image
.Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wählen Sie unter Dienstkonto das zuvor erstellte Dienstkonto aus.
Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein:
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch describe-image.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in die Quellcodedatei ein:
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy describe-image \ --source=describe-image.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Workflow ausführen
Bei der Ausführung eines Workflows wird die aktuelle Workflowdefinition ausgeführt, die dem Workflow zugeordnet ist.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Wählen Sie auf der Seite Workflows den Workflow describe-image aus, um die Detailseite aufzurufen.
Klicken Sie auf der Seite Workflow-Details auf play_arrow Ausführen.
Geben Sie unter Input Folgendes ein:
{"image_url":"gs://generativeai-downloads/images/scones.jpg"}
Klicken Sie noch einmal auf Ausführen.
Sehen Sie sich die Ergebnisse des Workflows im Bereich Ausgabe an.
Die Ausgabe sollte in etwa so aussehen:
{ "image_description": "There are three pink peony flowers on the right side of the picture[]...]There is a white napkin on the table.", "image_url": "gs://generativeai-downloads/images/scones.jpg" }
gcloud
Öffnen Sie ein Terminalfenster.
Führen Sie den Workflow aus:
gcloud workflows run describe-image \ --data='{"image_url":"gs://generativeai-downloads/images/scones.jpg"}'
Die Ausführungsergebnisse sollten in etwa so aussehen:
Waiting for execution [258b530e-a093-46d7-a4ff-cbf5392273c0] to complete...done. argument: '{"image_url":"gs://generativeai-downloads/images/scones.jpg"}' createTime: '2024-02-09T13:59:32.166409938Z' duration: 4.174708484s endTime: '2024-02-09T13:59:36.341118422Z' name: projects/1051295516635/locations/us-central1/workflows/describe-image/executions/258b530e-a093-46d7-a4ff-cbf5392273c0 result: "{\"image_description\":\"The picture shows a rustic table with a white surface,\ \ on which there are several scones with blueberries, as well as two cups of coffee\ [...] \ on the table. The background of the table is a dark blue color.\",\"image_url\"\ :\"gs://generativeai-downloads/images/scones.jpg\"}" startTime: '2024-02-09T13:59:32.166409938Z' state: SUCCEEDED
Workflow bereitstellen, der Ländergeschichten generiert (Gemini Pro)
Erstellen Sie einen Workflow, der eine Eingabeliste von Ländern parallel durchläuft und eine Connector-Methode (generateContent
) verwendet, um eine Anfrage an einen Gemini Pro-Publisher-Endpunkt zu senden. Die Methode unterstützt die Inhaltsgenerierung mit multimodalen Eingaben.
Der Workflow gibt die vom Modell generierten Ländergeschichten zurück und kombiniert sie in einer Karte.
Weitere Informationen zu den HTTP-Anfragetextparametern, die beim Anfordern der LLM verwendet werden, und zu den Antworttextelementen finden Sie in der Gemini API-Referenz.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf
Erstellen.Geben Sie einen Namen für den neuen Workflow ein:
gemini-pro-country-histories
.Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wählen Sie unter Dienstkonto das zuvor erstellte Dienstkonto aus.
Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein:
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch gemini-pro-country-histories.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in die Quellcodedatei ein:
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy gemini-pro-country-histories \ --source=gemini-pro-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Workflow ausführen
Bei der Ausführung eines Workflows wird die aktuelle Workflowdefinition ausgeführt, die dem Workflow zugeordnet ist.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Wählen Sie auf der Seite Workflows den Workflow gemini-pro-country-histories aus, um die Detailseite aufzurufen.
Klicken Sie auf der Seite Workflow-Details auf play_arrow Ausführen.
Geben Sie unter Input Folgendes ein:
{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}
Klicken Sie noch einmal auf Ausführen.
Sehen Sie sich die Ergebnisse des Workflows im Bereich Ausgabe an.
Die Ausgabe sollte in etwa so aussehen:
{ "Argentina": "The history of Argentina is a complex and fascinating one, marked by periods of prosperity and decline, political [...] "Bhutan": "The history of Bhutan is a rich and fascinating one, dating back to the 7th century AD. Here is a brief overview: [...] "Cyprus": "The history of Cyprus is a long and complex one, spanning over 10,000 years. The island has been ruled by a succession [...] "Denmark": "1. **Prehistory and Early History (c. 12,000 BC - 800 AD)**\\n - The earliest evidence of human habitation in Denmark [...] "Ethiopia": "The history of Ethiopia is a long and complex one, stretching back to the earliest human civilizations. The country is [...] }
gcloud
Öffnen Sie ein Terminalfenster.
Führen Sie den Workflow aus:
gcloud workflows run gemini-pro-country-histories \ --data='{"countries":["Argentina", "Bhutan", "Cyprus", "Denmark", "Ethiopia"]}' \ --location=us-central1
Die Ausführungsergebnisse sollten in etwa so aussehen:
Waiting for execution [7ae1ccf1-29b7-4c2c-99ec-7a12ae289391] to complete...done. argument: '{"countries":["Argentina","Bhutan","Cyprus","Denmark","Ethiopia"]}' createTime: '2024-02-09T16:25:16.742349156Z' duration: 12.075968673s endTime: '2024-02-09T16:25:28.818317829Z' name: projects/1051295516635/locations/us-central1/workflows/gemini-pro-country-histories/executions/7ae1ccf1-29b7-4c2c-99ec-7a12ae289391 result: "{\"Argentina\":\"The history of Argentina can be traced back to the arrival\ [...] n* 2015: Argentina elects Mauricio Macri as president.\",\"Bhutan\":\"The history\ [...] \ natural beauty, ancient monasteries, and friendly people.\",\"Cyprus\":\"The history\ [...] ,\"Denmark\":\"The history of Denmark can be traced back to the Stone Age, with\ [...] \ a high standard of living.\",\"Ethiopia\":\"The history of Ethiopia is long and\ [...] startTime: '2024-02-09T16:25:16.742349156Z' state: SUCCEEDED
Workflow bereitstellen, der Ländergeschichten generiert (PaLM 2 für Text)
Sie möchten möglicherweise nicht Gemini Pro als Modell verwenden. Im folgenden Beispiel wird ein Workflow verwendet, der dem vorherigen ähnelt. Es wird jedoch eine Connector-Methode (predict
) verwendet, um eine Anfrage an einen PaLM 2-Endpunkt für Textverlage oder ‑webpublisher zu senden. Die Methode führt eine Onlinevorhersage durch.
Weitere Informationen zu den HTTP-Anfragekörperparametern, die beim Anfordern des LLM verwendet werden, und den Antwortkörperelementen finden Sie in der PaLM 2 for Text API-Referenz.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf
Erstellen.Geben Sie einen Namen für den neuen Workflow ein:
text-bison-country-histories
.Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wählen Sie unter Dienstkonto das zuvor erstellte Dienstkonto aus.
Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein:
Je nach verwendetem Modell müssen Sie möglicherweise alle unnötigen Leerzeichen aus der Antwort entfernen.
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch text-bison-country-histories.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in die Quellcodedatei ein:
Je nach verwendetem Modell müssen Sie möglicherweise alle unnötigen Leerzeichen aus der Antwort entfernen.
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy text-bison-country-histories \ --source=text-bison-country-histories.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Workflow bereitstellen, der ein großes Dokument zusammenfasst (Gemini Pro)
Erstelle einen Workflow, der ein großes Dokument in kleinere Teile aufteilt und http.post
-Anfragen an einen Gemini Pro-Publisher-Endpunkt parallel sendet, damit das Modell jeden Teil gleichzeitig zusammenfassen kann. Im Workflow werden schließlich alle Teilzusammenfassungen zu einer vollständigen Zusammenfassung kombiniert.
Weitere Informationen zu den HTTP-Anfragetextparametern, die beim Anfordern der LLM verwendet werden, und den Antworttextelementen finden Sie in der Gemini API-Referenz.
Bei der Workflowdefinition wird davon ausgegangen, dass Sie einen Cloud Storage-Bucket erstellt haben, in den Sie eine Textdatei hochladen können. Weitere Informationen zum Workflows-Connector (googleapis.storage.v1.objects.get
), mit dem Objekte aus dem Cloud Storage-Bucket abgerufen werden, finden Sie in der Referenz zu Connectors.
Nachdem Sie den Workflow bereitgestellt haben, können Sie ihn ausführen, indem Sie einen geeigneten Eventarc-Trigger erstellen und dann eine Datei in den Bucket hochladen. Weitere Informationen finden Sie unter Cloud Storage-Ereignisse an Workflows weiterleiten.
Zusätzliche APIs müssen aktiviert und zusätzliche Rollen gewährt werden. Dazu gehört die Rolle „Storage-Objekt-Nutzer“ (roles/storage.objectUser
), die die Verwendung von Cloud Storage-Objekten unterstützt. Weitere Informationen finden Sie im Abschnitt Vorbereitung zum Erstellen eines Triggers.
Console
Öffnen Sie in der Google Cloud Console die Seite Workflows.
Klicken Sie auf
Erstellen.Geben Sie einen Namen für den neuen Workflow ein:
gemini-pro-summaries
.Wählen Sie in der Liste Region die Option us-central1 (Iowa) aus.
Wählen Sie unter Dienstkonto das zuvor erstellte Dienstkonto aus.
Klicken Sie auf Weiter.
Geben Sie im Workflow-Editor die Definition für Ihren Workflow ein:
Klicken Sie auf Bereitstellen.
gcloud
Erstellen Sie eine Quellcodedatei für Ihren Workflow:
touch gemini-pro-summaries.yaml
Kopieren Sie den folgenden Workflow in einen Texteditor und fügen Sie ihn in die Quellcodedatei ein:
Stellen Sie den Workflow bereit. Geben Sie hierzu den folgenden Befehl ein:
gcloud workflows deploy gemini-pro-summaries \ --source=gemini-pro-summaries.yaml \ --location=us-central1 \ --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
Bereinigen
Damit Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie entweder das Projekt, das die Ressourcen enthält, oder Sie behalten das Projekt und löschen die einzelnen Ressourcen.
Projekt löschen
Console
- In the Google Cloud console, go to the Manage resources page.
- In the project list, select the project that you want to delete, and then click Delete.
- In the dialog, type the project ID, and then click Shut down to delete the project.
gcloud
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
Einzelne Ressourcen löschen
Löschen Sie die Workflows, die Sie in dieser Anleitung erstellt haben.
Nächste Schritte
- Weitere Informationen zu Workflow-Connectors
- Weitere Informationen zur Vertex AI-Methode
generateContent
- Weitere Informationen zur Vertex AI-Methode
predict