Auf dieser Seite erfahren Sie, wie Sie mithilfe der Google Cloud Console, der REST API und unterstützter SDKs Chat-Prompts an das Gemini-Modell senden.
Informationen zum Hinzufügen von Bildern und anderen Medien zu Ihrer Anfrage finden Sie unter Bildverständnis.
Eine Liste der von Gemini unterstützten Sprachen finden Sie unter Sprachunterstützung.
Informationen zu den in Vertex AI verfügbaren generativen KI-Modellen und APIs finden Sie in der Model Console in der Google Cloud Console.
Wenn Sie Gemini direkt über Ihre mobilen Apps und Webanwendungen verwenden möchten, sehen Sie sich die Google KI-SDKs für Android, Swift und das Web an.
Zum Testen und Iterieren von Chat-Prompts empfehlen wir die Verwendung der Google Cloud Console. Um Prompts programmatisch an das Modell zu senden, können Sie die REST API, das Vertex AI SDK für Python oder eine der anderen unterstützten Bibliotheken und SDKs verwenden, die auf den folgenden Tabs angezeigt werden.
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 Streamingantworten 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
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 Streamingantworten 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
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 Streamingantworten 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
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 Streamingantworten 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
Go
Bevor Sie dieses Beispiel ausprobieren, folgen Sie den Schritten zur Einrichtung von Go in der Vertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zu 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 Streamingantworten 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
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:
GENERATE_RESPONSE_METHOD
: Der Antworttyp, den das Modell generieren soll. Wählen Sie eine Methode aus, mit der generiert wird, wie die Antwort des Modells zurückgegeben werden soll:streamGenerateContent
: Die Antwort wird gestreamt, während sie generiert wird, um die Wahrnehmung von Latenz für menschliche Zielgruppen zu reduzieren.generateContent
: Die Antwort wird zurückgegeben, nachdem sie vollständig generiert wurde.
LOCATION
: Die Region, in der die Anfrage verarbeitet werden soll. Folgende Optionen sind verfügbar: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.MODEL_ID
: die Modell-ID des multimodalen Modells, das Sie verwenden möchten. Folgende Optionen sind möglich:gemini-1.0-pro-002
gemini-1.0-pro-vision-001
gemini-1.5-pro-001
gemini-1.5-flash
TEXT1
Die Textanleitung, die in den ersten Prompt der mehrstufigen Unterhaltung eingefügt werden soll. z. B.What are all the colors in a rainbow?
.TEXT2
: Die Textanleitung, die in den zweiten Prompt eingefügt werden soll. z. B.Why does it appear when it rains?
.TEMPERATURE
: Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenntopP
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.
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": { "text": "TEXT1" } }, { "role": "model", "parts": { "text": "What a great question!" } }, { "role": "user", "parts": { "text": "TEXT2" } } ], "generation_config": { "temperature": TEMPERATURE } } 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/MODEL_ID:GENERATE_RESPONSE_METHOD"
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": { "text": "TEXT1" } }, { "role": "model", "parts": { "text": "What a great question!" } }, { "role": "user", "parts": { "text": "TEXT2" } } ], "generation_config": { "temperature": TEMPERATURE } } '@ | 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/MODEL_ID:GENERATE_RESPONSE_METHOD" | 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 über Vertex AI Studio einen Chat-Prompt in der Google Cloud Console:
- Rufen Sie im Abschnitt „Vertex AI“ der Google Cloud Console den Abschnitt Sprache von Vertex AI Studio auf.
- Klicken Sie auf Textchat.
Konfigurieren Sie Modell und Parameter:
- Region: Wählen Sie die Region aus, die Sie verwenden möchten.
- Modell: Wählen Sie Gemini Pro aus.
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, wenntopP
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-Limit: 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 niedrigere Werte für kürzere Antworten und höhere Werte für längere Antworten an.
- Stoppsequenz hinzufügen: Geben Sie eine Stoppsequenz ein, die aus einer Reihe von Zeichen (einschließlich Leerzeichen) besteht, die die Antwortgenerierung beendet, wenn das Modell darauf stößt. Die Sequenz ist nicht Teil der Antwort. Sie können bis zu fünf Stoppsequenzen hinzufügen.
- Optional: Klicken Sie zum Konfigurieren erweiterter Parameter auf Erweitert und konfigurieren Sie so:
Klicken, um erweiterte Konfigurationen zu maximieren
Top-K: Sie können den Schieberegler oder das Textfeld verwenden, um einen Wert für Top-K einzugeben.
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.
Die Google Cloud Console unterstützt nur das Streaming. Dazu werden Antworten auf Prompts empfangen, sobald diese generiert werden. Sie können nun eine Nachricht in das Nachrichtenfeld eingeben, um eine Unterhaltung mit dem Modell zu starten.
Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten.
- 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.
- Optional: Wenn Sie alle vorherigen Nachrichten löschen möchten, klicken Sie auf Unterhaltung löschen.
Mit den Systemanweisungen können Sie das Verhalten des Modells basierend auf einem bestimmten Bedarf oder Anwendungsfall steuern. Sie können beispielsweise eine Identität oder Rolle für einen Chatbot definieren, der auf Anfragen an Kundenservicemitarbeiter reagiert. Weitere Informationen finden Sie in den Codebeispielen für Systemanweisungen.
Nächste Schritte
Multimodale Prompt-Anfragen senden
Verantwortungsbewusste Best Practices für KI und Sicherheitsfilter von Vertex AI