Unterstützte Modelle
In der folgenden Tabelle sind die Modelle aufgeführt, die die Videoerkennung unterstützen:
Modell | Details zur Videomodalität |
---|---|
Gemini 1.5 Flash Zur Modellkarte „Gemini 1.5 Flash“ |
Maximale Videolänge:
Maximale Anzahl von Videos pro Prompt: 10 |
Gemini 1.5 Pro, Zur Modellkarte „Gemini 1.5 Pro“ |
Maximale Videolänge:
Maximale Anzahl von Videos pro Prompt: 10 |
Gemini 1.0 Pro Vision Zur Modellkarte „Gemini 1.0 Pro Vision“ |
Maximale Videolänge: 2 Minuten Maximale Anzahl von Videos pro Prompt: 1 Der Ton im Video wird ignoriert. |
Eine Liste der von Gemini-Modellen unterstützten Sprachen finden Sie in den Modellinformationen der Google-Modelle. Weitere Informationen zum Entwerfen multimodaler Prompts finden Sie unter Multimodale Prompts entwerfen. Wenn Sie nach einer Möglichkeit suchen, Gemini direkt über Ihre mobilen und Ihre Web-Apps zu verwenden, finden Sie weitere Informationen in den Vertex AI in Firebase SDKs für Android-, Swift-, Web- und Flutter-Apps.
Einem Antrag Videos hinzufügen
Sie können Ihrer Anfrage an Gemini ein einzelnes Video oder mehrere Videos hinzufügen. Das Video kann auch Audio enthalten.
Einzelnes Video
Der Beispielcode auf den folgenden Tabs zeigt eine andere Methode zum Erkennen der Inhalte in einem Video. Dieses Beispiel funktioniert mit allen multimodalen Gemini-Modellen.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der API-Referenzdokumentation zur Vertex AI SDK for Python.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Streaming-Antwort den Parameter stream
in generate_content
.
response = model.generate_content(contents=[...], stream = True)
Entfernen Sie für eine Nicht-Streamingantwort den Parameter oder setzen Sie den Parameter auf False
.
Beispielcode
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI Java SDK für Gemini.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(Content content)
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContent
.
public GenerateContentResponse generateContent(Content content)
Beispielcode
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der Kurzanleitung zur generativen KI mit dem Node.js SDK. Weitere Informationen finden Sie in der Referenzdokumentation zum Node.js SDK für Gemini.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Beispielcode
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI Go SDK für Gemini.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Verwenden Sie für eine Nicht-Streamingantwort die Methode GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Beispielcode
C#
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von C# in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zu Vertex AI C#.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Verwenden Sie für eine Nicht-Streamingantwort die Methode GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Weitere Informationen dazu, wie der Server Antworten streamen kann, finden Sie unter Streaming-RPCs.
Beispielcode
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
LOCATION
: Die Region, in der die Anfrage verarbeitet werden soll. Geben Sie eine unterstützte Region ein. Eine vollständige Liste der unterstützten Regionen finden Sie unter Verfügbare Standorte.Klicken Sie, um eine unvollständige Liste der verfügbaren Regionen einzublenden
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: Ihre Projekt-ID.FILE_URI
: Der URI oder die URL der Datei, die in den Prompt aufgenommen werden soll. Unter anderem sind folgende Werte zulässig:- Cloud Storage-Bucket-URI: Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Für
gemini-1.5-pro
undgemini-1.5-flash
beträgt die Größenbeschränkung 2 GB. Fürgemini-1.0-pro-vision
beträgt die Größenbeschränkung 20 MB. - HTTP-URL: Die Datei-URL muss öffentlich lesbar sein. Sie können eine Videodatei, eine Audiodatei und bis zu 10 Bilddateien pro Anfrage angeben. Audiodateien, Videodateien und Dokumente dürfen nicht größer als 15 MB sein.
- YouTube-Video-URL: Das YouTube-Video muss entweder dem Konto gehören, mit dem Sie sich in der Google Cloud Console angemeldet haben, oder öffentlich sein. Pro Anfrage wird nur eine YouTube-Video-URL unterstützt.
Wenn Sie einen
fileURI
angeben, müssen Sie auch den Medientyp (mimeType
) der Datei angeben.Wenn Sie keine Videodatei in Cloud Storage haben, können Sie die folgende öffentlich zugängliche Datei:
gs://cloud-samples-data/video/animals.mp4
mit dem MIME-Typvideo/mp4
. Öffnen Sie die Beispiel-MP4-Datei, um sich dieses Video anzusehen.- Cloud Storage-Bucket-URI: Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Für
MIME_TYPE
: Der Medientyp der Datei, die in den Felderndata
oderfileUri
angegeben wurde. Unter anderem sind folgende Werte zulässig:Zum Maximieren von MIME-Typen klicken
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
TEXT
: Die Textanleitung, die in den Prompt eingefügt werden soll. Beispiel:What is in the video?
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Beachten Sie Folgendes in der URL für dieses Beispiel:- Mit der Methode
generateContent
können Sie anfordern, dass die Antwort zurückgegeben wird, nachdem sie vollständig generiert wurde. Um die Wahrnehmung von Latenz für menschliche Zielgruppen zu verringern, streame die Antwort, während sie mithilfe der MethodestreamGenerateContent
erzeugt wird. - Die multimodale Modell-ID befindet sich am Ende der URL vor der Methode (z. B.
gemini-1.5-flash
odergemini-1.0-pro-vision
). Dieses Beispiel unterstützt möglicherweise auch andere Modelle.
Console
So senden Sie einen multimodalen Prompt mit der Google Cloud Console:Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Vertex AI Studio auf.
Klicken Sie auf Im freien Format öffnen.
Optional – Konfigurieren Sie Modell und Parameter:
- Modell: Wählen Sie ein Modell aus.
- Region: Wählen Sie die Region aus, die Sie verwenden möchten.
Temperaturen: Geben Sie über den Schieberegler oder das Textfeld einen Temperaturwert ein.
Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenn
topP
undtopK
angewendet werden. Die Temperatur bestimmt den Grad der Zufälligkeit bei der Tokenauswahl. Niedrigere Temperaturen eignen sich gut für Prompts, die eine weniger offene oder kreative Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativeren Ergebnissen führen können. Eine Temperatur von0
bedeutet, dass immer die Tokens mit der höchsten Wahrscheinlichkeit ausgewählt werden. In diesem Fall sind die Antworten auf einen bestimmten Prompt größtenteils deterministisch, aber eine gewisse Variation ist dennoch möglich.Wenn das Modell eine zu allgemeine oder zu kurze Antwort zurückgibt, oder wenn das Modell eine Fallback-Antwort ausgibt, versuchen Sie, die Temperatur zu erhöhen.
Token-Ausgabelimit: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für das maximale Ausgabelimit einzugeben.
Maximale Anzahl an Tokens, die in der Antwort generiert werden können. Ein Token besteht aus etwa vier Zeichen. 100 Tokens entsprechen etwa 60–80 Wörtern.
Geben Sie kürzere Werte für kürzere Antworten und höhere Werte für längere Antworten an.
Stoppsequenz hinzufügen: Optional. Geben Sie eine Stoppsequenz ein, die aus einer Reihe von Zeichen (einschließlich Leerzeichen) besteht. Wenn das Modell auf eine Stoppsequenz stößt, wird die Antwortgenerierung beendet. Die Stoppsequenz ist nicht in der Antwort enthalten. Sie können bis zu fünf Stoppsequenzen hinzufügen.
Optional: Klicken Sie zum Konfigurieren erweiterter Parameter auf Erweitert und konfigurieren Sie so:
Klicken Sie, um erweiterte Konfigurationen zu maximieren.
Top-K: Sie können den Schieberegler oder das Textfeld verwenden, um einen Wert für Top-K einzugeben. (nicht für Gemini 1.5 unterstützt)
Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von1
bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von3
bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten abgetastet. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird.
Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.
- Top-P: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für „Top-P“ einzugeben.
Tokens werden vom wahrscheinlichsten bis zum am wenigsten wahrscheinlichen Token ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem Wert von „Top-P“ entspricht. Für die Ergebnisse der geringsten Variablen legen Sie Top-P auf
0
fest. - Maximale Anzahl von Antworten: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für die Anzahl der zu generierenden Antworten einzugeben.
- Streamingantworten: Wenn Sie diese Option aktivieren, werden Antworten ausgedruckt, sobald sie generiert werden.
- Schwellenwert für Sicherheitsfilter: Wählen Sie den Schwellenwert aus, mit dem Sie festlegen, wie wahrscheinlich es ist, dass Sie Antworten sehen, die möglicherweise schädlich sind.
- Fundierung aktivieren: Die Funktion „Fundierung“ wird für multimodale Prompts nicht unterstützt.
Klicken Sie auf Medien einfügen und wählen Sie eine Quelle für die Datei aus.
Hochladen
Wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie auf Öffnen.
Über URL
Geben Sie die URL der Datei ein, die Sie verwenden möchten, und klicken Sie auf Einfügen.
YouTube
Geben Sie die URL des YouTube-Videos ein, das Sie verwenden möchten, und klicken Sie auf Einfügen.
Sie können jedes öffentliche Video oder ein Video verwenden, das dem Konto gehört, mit dem Sie sich in der Google Cloud Console angemeldet haben.
Cloud Storage
Wählen Sie den Bucket und dann die Datei aus dem Bucket aus, die Sie importieren möchten, und klicken Sie auf Auswählen.
Google Drive
- Wählen Sie ein Konto aus und erteilen Sie Vertex AI Studio die Einwilligung, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Sie können mehrere Dateien mit einer Gesamtgröße von bis zu 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Klicken Sie auf die Datei, die Sie hinzufügen möchten.
Klicken Sie auf Auswählen.
Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt. Außerdem wird die Gesamtzahl der Tokens angezeigt. Wenn Ihre Prompt-Daten das Tokenlimit überschreiten, werden die Tokens abgeschnitten und nicht bei der Verarbeitung Ihrer Daten berücksichtigt.
Geben Sie Ihren Prompt in den Bereich Prompt ein.
Optional: Wenn Sie Token-ID zu Text und Token-IDs sehen möchten, klicken Sie im Bereich Prompt auf die Anzahl der Tokens.
Klicken Sie auf Senden.
Optional: Klicken Sie auf
Speichern, um den Prompt unter Meine Prompts zu speichern.Optional: Klicken Sie auf
Code abrufen, um den Python-Code oder einen curl-Befehl für den Prompt abzurufen.
Video mit Audio
Im Folgenden wird gezeigt, wie du eine Videodatei mit Audio zusammenfassen und Kapitel mit Zeitstempeln zurückgeben kannst. Dieses Beispiel funktioniert nur mit Gemini 1.5 Pro.
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der API-Referenzdokumentation zur Vertex AI SDK for Python.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Streaming-Antwort den Parameter stream
in generate_content
.
response = model.generate_content(contents=[...], stream = True)
Entfernen Sie für eine Nicht-Streamingantwort den Parameter oder setzen Sie den Parameter auf False
.
Beispielcode
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Java in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI Java SDK für Gemini.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContentStream
.
public ResponseStream<GenerateContentResponse> generateContentStream(Content content)
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContent
.
public GenerateContentResponse generateContent(Content content)
Beispielcode
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Node.js in der Kurzanleitung zur generativen KI mit dem Node.js SDK. Weitere Informationen finden Sie in der Referenzdokumentation zum Node.js SDK für Gemini.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContentStream
.
const streamingResp = await generativeModel.generateContentStream(request);
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContent
.
const streamingResp = await generativeModel.generateContent(request);
Beispielcode
Go
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von Go in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI Go SDK für Gemini.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode GenerateContentStream
.
iter := model.GenerateContentStream(ctx, genai.Text("Tell me a story about a lumberjack and his giant ox. Keep it very short."))
Verwenden Sie für eine Nicht-Streamingantwort die Methode GenerateContent
.
resp, err := model.GenerateContent(ctx, genai.Text("What is the average size of a swallow?"))
Beispielcode
C#
Bevor Sie dieses Beispiel anwenden, folgen Sie den Schritten zur Einrichtung von C# in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zu Vertex AI C#.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Streaming- und Nicht-Streaming-Antworten
Sie können auswählen, ob das Modell Streaming-Antworten oder Nicht-Streaming-Antworten generiert. Bei Streaming-Antworten erhalten Sie jede Antwort, sobald ihr Ausgabetoken generiert wurde. Bei Nicht-Streaming-Antworten erhalten Sie alle Antworten, nachdem alle Ausgabetokens erzeugt wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode StreamGenerateContent
.
public virtual PredictionServiceClient.StreamGenerateContentStream StreamGenerateContent(GenerateContentRequest request)
Verwenden Sie für eine Nicht-Streamingantwort die Methode GenerateContentAsync
.
public virtual Task<GenerateContentResponse> GenerateContentAsync(GenerateContentRequest request)
Weitere Informationen dazu, wie der Server Antworten streamen kann, finden Sie unter Streaming-RPCs.
Beispielcode
REST
Nachdem Sie Ihre Umgebung eingerichtet haben, können Sie mit REST einen Text-Prompt testen. Im folgenden Beispiel wird eine Anfrage an den Publisher gesendet Modellendpunkt zu erstellen.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
LOCATION
: Die Region, in der die Anfrage verarbeitet werden soll. Geben Sie eine unterstützte Region ein. Eine vollständige Liste der unterstützten Regionen finden Sie unter Verfügbare Standorte.Klicken Sie, um eine unvollständige Liste der verfügbaren Regionen einzublenden
us-central1
us-west4
northamerica-northeast1
us-east4
us-west1
asia-northeast3
asia-southeast1
asia-northeast1
PROJECT_ID
: Ihre Projekt-ID.FILE_URI
: Der URI oder die URL der Datei, die in den Prompt aufgenommen werden soll. Unter anderem sind folgende Werte zulässig:- Cloud Storage-Bucket-URI: Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Für
gemini-1.5-pro
undgemini-1.5-flash
beträgt die Größenbeschränkung 2 GB. Fürgemini-1.0-pro-vision
beträgt die Größenbeschränkung 20 MB. - HTTP-URL: Die Datei-URL muss öffentlich lesbar sein. Sie können eine Videodatei, eine Audiodatei und bis zu 10 Bilddateien pro Anfrage angeben. Audiodateien, Videodateien und Dokumente dürfen nicht größer als 15 MB sein.
- YouTube-Video-URL: Das YouTube-Video muss entweder dem Konto gehören, mit dem Sie sich in der Google Cloud Console angemeldet haben, oder öffentlich sein. Pro Anfrage wird nur eine YouTube-Video-URL unterstützt.
Wenn Sie einen
fileURI
angeben, müssen Sie auch den Medientyp (mimeType
) der Datei angeben.Wenn Sie keine Videodatei in Cloud Storage haben, können Sie die folgende öffentlich zugängliche Datei:
gs://cloud-samples-data/generative-ai/video/pixel8.mp4
mit dem MIME-Typvideo/mp4
. Öffnen Sie die Beispiel-MP4-Datei, um sich dieses Video anzusehen.- Cloud Storage-Bucket-URI: Das Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Für
MIME_TYPE
: Der Medientyp der Datei, die in den Felderndata
oderfileUri
angegeben wurde. Unter anderem sind folgende Werte zulässig:Zum Maximieren von MIME-Typen klicken
application/pdf
audio/mpeg
audio/mp3
audio/wav
image/png
image/jpeg
image/webp
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
Die Textanleitung, die in den Prompt eingefügt werden soll. Beispiel:TEXT
Provide a description of the video. The description should also contain anything important which people say in the video.
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
cat > request.json << 'EOF' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } EOF
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
.
Führen Sie folgenden Befehl im Terminal aus, um diese Datei im aktuellen Verzeichnis zu erstellen oder zu überschreiben:
@' { "contents": { "role": "USER", "parts": [ { "fileData": { "fileUri": "FILE_URI", "mimeType": "MIME_TYPE" } }, { "text": "TEXT" } ] } } '@ | Out-File -FilePath request.json -Encoding utf8
Führen Sie dann folgenden Befehl aus, um Ihre REST-Anfrage zu senden:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/gemini-1.5-flash:generateContent" | Select-Object -Expand Content
Sie sollten eine JSON-Antwort ähnlich wie diese erhalten:
Beachten Sie Folgendes in der URL für dieses Beispiel:- Mit der Methode
generateContent
können Sie anfordern, dass die Antwort zurückgegeben wird, nachdem sie vollständig generiert wurde. Um die Wahrnehmung von Latenz für menschliche Zielgruppen zu verringern, streame die Antwort, während sie mithilfe der MethodestreamGenerateContent
erzeugt wird. - Die multimodale Modell-ID befindet sich am Ende der URL vor der Methode (z. B.
gemini-1.5-flash
odergemini-1.0-pro-vision
). Dieses Beispiel unterstützt möglicherweise auch andere Modelle.
Console
So senden Sie einen multimodalen Prompt mit der Google Cloud Console:Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Vertex AI Studio auf.
Klicken Sie auf Im freien Format öffnen.
Optional – Konfigurieren Sie Modell und Parameter:
- Modell: Wählen Sie ein Modell aus.
- Region: Wählen Sie die Region aus, die Sie verwenden möchten.
Temperaturen: Geben Sie über den Schieberegler oder das Textfeld einen Temperaturwert ein.
Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenn
topP
undtopK
angewendet werden. Die Temperatur bestimmt den Grad der Zufälligkeit bei der Tokenauswahl. Niedrigere Temperaturen eignen sich gut für Prompts, die eine weniger offene oder kreative Antwort erfordern, während höhere Temperaturen zu vielfältigeren oder kreativeren Ergebnissen führen können. Eine Temperatur von0
bedeutet, dass immer die Tokens mit der höchsten Wahrscheinlichkeit ausgewählt werden. In diesem Fall sind die Antworten auf einen bestimmten Prompt größtenteils deterministisch, aber eine gewisse Variation ist dennoch möglich.Wenn das Modell eine zu allgemeine oder zu kurze Antwort zurückgibt, oder wenn das Modell eine Fallback-Antwort ausgibt, versuchen Sie, die Temperatur zu erhöhen.
Token-Ausgabelimit: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für das maximale Ausgabelimit einzugeben.
Maximale Anzahl an Tokens, die in der Antwort generiert werden können. Ein Token besteht aus etwa vier Zeichen. 100 Tokens entsprechen etwa 60–80 Wörtern.
Geben Sie kürzere Werte für kürzere Antworten und höhere Werte für längere Antworten an.
Stoppsequenz hinzufügen: Optional. Geben Sie eine Stoppsequenz ein, die aus einer Reihe von Zeichen (einschließlich Leerzeichen) besteht. Wenn das Modell auf eine Stoppsequenz stößt, wird die Antwortgenerierung beendet. Die Stoppsequenz ist nicht in der Antwort enthalten. Sie können bis zu fünf Stoppsequenzen hinzufügen.
Optional: Klicken Sie zum Konfigurieren erweiterter Parameter auf Erweitert und konfigurieren Sie so:
Klicken Sie, um erweiterte Konfigurationen zu maximieren.
Top-K: Sie können den Schieberegler oder das Textfeld verwenden, um einen Wert für Top-K einzugeben. (nicht für Gemini 1.5 unterstützt)
Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von1
bedeutet, dass das nächste ausgewählte Token unter den Tokens im Modell-Vokabular (auch als gierige Decodierung bezeichnet) am wahrscheinlichsten ist, während ein „Top-K“ von3
bedeutet, dass das nächste Token mithilfe der Temperatur aus den drei wahrscheinlichsten Tokens ausgewählt wird.Für jeden Tokenauswahlschritt werden die „Top-K“-Tokens mit den höchsten Wahrscheinlichkeiten abgetastet. Anschließend werden Tokens weiter auf der Grundlage von „Top-P“ gefiltert, wobei das endgültige Token mithilfe von Temperaturproben ausgewählt wird.
Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.
- Top-P: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für „Top-P“ einzugeben.
Tokens werden vom wahrscheinlichsten bis zum am wenigsten wahrscheinlichen Token ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem Wert von „Top-P“ entspricht. Für die Ergebnisse der geringsten Variablen legen Sie Top-P auf
0
fest. - Maximale Anzahl von Antworten: Verwenden Sie den Schieberegler oder das Textfeld, um einen Wert für die Anzahl der zu generierenden Antworten einzugeben.
- Streamingantworten: Wenn Sie diese Option aktivieren, werden Antworten ausgedruckt, sobald sie generiert werden.
- Schwellenwert für Sicherheitsfilter: Wählen Sie den Schwellenwert aus, mit dem Sie festlegen, wie wahrscheinlich es ist, dass Sie Antworten sehen, die möglicherweise schädlich sind.
- Fundierung aktivieren: Die Funktion „Fundierung“ wird für multimodale Prompts nicht unterstützt.
Klicken Sie auf Medien einfügen und wählen Sie eine Quelle für die Datei aus.
Hochladen
Wählen Sie die Datei aus, die Sie hochladen möchten, und klicken Sie auf Öffnen.
Über URL
Geben Sie die URL der Datei ein, die Sie verwenden möchten, und klicken Sie auf Einfügen.
YouTube
Geben Sie die URL des YouTube-Videos ein, das Sie verwenden möchten, und klicken Sie auf Einfügen.
Sie können jedes öffentliche Video oder ein Video verwenden, das dem Konto gehört, mit dem Sie sich in der Google Cloud Console angemeldet haben.
Cloud Storage
Wählen Sie den Bucket und dann die Datei aus dem Bucket aus, die Sie importieren möchten, und klicken Sie auf Auswählen.
Google Drive
- Wählen Sie ein Konto aus und erteilen Sie Vertex AI Studio die Einwilligung, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Sie können mehrere Dateien mit einer Gesamtgröße von bis zu 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Klicken Sie auf die Datei, die Sie hinzufügen möchten.
Klicken Sie auf Auswählen.
Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt. Außerdem wird die Gesamtzahl der Tokens angezeigt. Wenn Ihre Prompt-Daten das Tokenlimit überschreiten, werden die Tokens abgeschnitten und nicht bei der Verarbeitung Ihrer Daten berücksichtigt.
Geben Sie Ihren Prompt in den Bereich Prompt ein.
Optional: Wenn Sie Token-ID zu Text und Token-IDs sehen möchten, klicken Sie im Bereich Prompt auf die Anzahl der Tokens.
Klicken Sie auf Senden.
Optional: Klicken Sie auf
Speichern, um den Prompt unter Meine Prompts zu speichern.Optional: Klicken Sie auf
Code abrufen, um den Python-Code oder einen curl-Befehl für den Prompt abzurufen.
Optionale Modellparameter festlegen
Jedes Modell hat eine Reihe von optionalen Parametern, die Sie festlegen können. Weitere Informationen finden Sie unter Parameter für die Inhaltsgenerierung.
Videoanforderungen
Gemini-Multimodal-Modelle unterstützen die folgenden MIME-Videotypen:
Video-MIME-Typ | Gemini 1.5 Flash | Gemini 1.5 Pro, | Gemini 1.0 Pro Vision |
---|---|---|---|
FLV - video/x-flv |
|||
MOV - video/quicktime |
|||
MPEG - video/mpeg |
|||
MPEGPS - video/mpegps |
|||
MPG - video/mpg |
|||
MP4 - video/mp4 |
|||
WEBM - video/webm |
|||
WMV - video/wmv |
|||
3GPP - video/3gpp |
In einer Prompt-Anfrage ist die folgende maximale Anzahl von Videodateien zulässig:
- Gemini 1.0 Pro Vision: 1 Videodatei
- Gemini 1.5 Flash und Gemini 1.5 Pro: 10 Videodateien
So werden Tokens für Videos berechnet:
- Alle multimodalen Gemini-Modelle: Videos werden mit
1 Bild pro Sekunde (fps) abgetastet. Für jeden Videoframe werden 258 Tokens berücksichtigt. - Gemini 1.5 Flash und Gemini 1.5 Pro: Der Audiotrack wird mit Videoframes codiert. Der Audiotrack wird außerdem in
1-Sekunden-Blöcke unterteilt, die jeweils 32 Tokens enthalten. Die Videoframe- und Audio-Token werden zusammen mit ihren Zeitstempeln interleaved. Die Zeitstempel werden als 7 Token dargestellt.
Best Practices
Beachten Sie bei der Verwendung von Videos die folgenden Best Practices und Informationen, um die besten Ergebnisse zu erzielen:
- Wenn Ihr Prompt ein einzelnes Video enthält, platzieren Sie das Video vor dem Text-Prompt.
- Wenn Sie die Zeitstempellokalisierung in einem Video mit Audio benötigen, bitten Sie das Modell, Zeitstempel im
MM:SS
-Format zu generieren, wobei die ersten beiden Ziffern für Minuten und die letzten beiden Ziffern für Sekunden stehen. Verwenden Sie dasselbe Format für Fragen, bei denen nach einem Zeitstempel gefragt wird. Wenn Sie Gemini 1.0 Pro Vision verwenden, beachten Sie Folgendes:
- Verwenden Sie nicht mehr als ein Video pro Prompt.
- Das Modell verarbeitet nur die Informationen der ersten zwei Minuten des Videos.
- Das Modell verarbeitet Videos als nicht fortlaufende Bildframes aus dem Video. Audio ist nicht enthalten. Wenn Sie feststellen, dass im Modell Inhalte aus dem Video fehlen, versuchen Sie, das Video zu verkürzen, damit das Modell einen größeren Teil des Videoinhalts erfasst.
- Das Modell verarbeitet keine Audiodaten oder Zeitstempelmetadaten. Aus diesem Grund funktioniert das Modell möglicherweise nicht gut in Anwendungsfällen, die eine Audioeingabe erfordern, z. B. für Untertitel oder zeitbezogene Informationen wie Geschwindigkeit oder Rhythmus.
Beschränkungen
Multimodale Gemini-Modelle sind zwar in vielen multimodalen Anwendungsfällen nützlich, aber es ist wichtig, die Einschränkungen der Modelle zu verstehen:
- Inhaltsmoderation: Die Models weigern sich, Antworten zu Videos zu geben, die gegen unsere Sicherheitsrichtlinien verstoßen.
- Nichtsprachliche Geräuscherkennung: Die Modelle, die Audio unterstützen, können dazu führen, dass Töne, die keine Sprache sind, falsch erkannt werden.
- Hochgeschwindigkeitsbewegungen: Aufgrund der festen Abtastrate von
1 Bild pro Sekunde (fps) können die Modelle beim Interpretieren von Hochgeschwindigkeitsbewegungen in Videos Fehler machen. - Transkription und Satzzeichen: (bei Verwendung von Gemini 1.5 Flash) Die Modelle geben möglicherweise Transkriptionen zurück, die keine Satzzeichen enthalten.
Nächste Schritte
- Nutzen Sie die multimodalen Modelle von Gemini. Neukunden erhalten ein kostenloses Google Cloud-Guthaben im Wert von 300 $, um Gemini zu testen.
- Weitere Informationen zum Senden von Anfragen für Chat-Prompt-Anfragen
- Best Practices für verantwortungsbewusste KI und die Sicherheitsfilter von Vertex AI