Sie können Bilder zu Gemini-Anfragen hinzufügen, um Aufgaben auszuführen, bei denen der Inhalt der enthaltenen Bilder verstanden wird. Auf dieser Seite erfahren Sie, wie Sie mithilfe der Google Cloud Console und der Vertex AI API Bilder zu Ihren Anfragen an Gemini in Vertex AI hinzufügen.
Unterstützte Modelle
In der folgenden Tabelle sind die Modelle aufgeführt, die das Bildverständnis unterstützen:
Modell | Details zur Bildmodalität |
---|---|
Gemini 1.5 Flash Zur Modellkarte „Gemini 1.5 Flash“ |
Maximale Anzahl von Bildern pro Prompt: 3.000 |
Gemini 1.5 Pro Zur Modellkarte „Gemini 1.5 Pro“ |
Maximale Anzahl von Bildern pro Prompt: 3.000 |
Gemini 1.0 Pro Vision Zur Modellkarte „Gemini 1.0 Pro Vision“ |
Maximale Anzahl von Bildern pro Prompt: 16 |
Eine Liste der von Gemini-Modellen unterstützten Sprachen finden Sie in den Modellinformationen von Google-Modellen. 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 Web-Apps zu verwenden, finden Sie weitere Informationen in den Google AI SDKs für Android, Swift und Web.
Bilder zu einer Anfrage hinzufügen
Sie können Ihrer Anfrage ein einzelnes Bild oder mehrere Bilder hinzufügen.
Einzelnes Bild
Der Beispielcode auf den folgenden Tabs zeigt eine andere Methode zum Erkennen der Inhalte im Bild. 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert wurden.
Verwenden Sie für eine Streamingantwort 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContentStream
.
public ResponseStreamgenerateContentStream(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 zu Node.js SDK for 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert 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
REST
Sie können REST verwenden, um einen Text-Prompt zu testen, indem Sie mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells senden.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- GENERATE_RESPONSE_METHOD: Der Antworttyp, den das Modell generieren soll.
Wählen Sie eine Methode aus, die generiert, wie die Antwort des Modells zurückgegeben werden soll:
streamGenerateContent
: Die Antwort wird während der Generierung gestreamt, um die Wahrnehmung der Latenz für eine menschliche Zielgruppe 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, um verfügbare Regionen zu maximieren
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 verfügbar:
gemini-1.0-pro-vision
- ROLE: Die Rolle in einer Unterhaltung, die mit dem Inhalt verknüpft ist. Die Angabe einer Rolle ist auch bei Anwendungsfällen mit nur einem Schritt erforderlich.
Unter anderem sind folgende Werte zulässig:
USER
: Gibt Inhalte an, die von Ihnen gesendet werden
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
- B64_BASE: Die base64-Codierung des Bildes, PDFs oder Videos, das inline in den Prompt aufgenommen werden soll. Wenn Sie Medien inline einschließen, müssen Sie auch MIMETYPE angeben.
- FILE_URI: Der Cloud Storage-URI der Datei, die in den Prompt aufgenommen werden soll. Das Bucket-Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Sie müssen auch den Medientyp (MIMETYPE) der Datei angeben.
- MIME_TYPE: Der Medientyp des Bildes oder Videos, das in den Feldern
data
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
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
- SAFETY_CATEGORY:
Die Sicherheitskategorie, für die ein Schwellenwert konfiguriert wird. Unter anderem sind folgende Werte zulässig:
Zum Maximieren von Sicherheitskategorien klicken
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD: Der Schwellenwert für das Blockieren von Antworten, die basierend auf der Wahrscheinlichkeit zur angegebenen Sicherheitskategorie gehören könnten. Unter anderem sind folgende Werte zulässig:
Zum Maximieren der Grenzwerte für die Blockierung klicken
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(Standard)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
blockiert am meisten, währendBLOCK_ONLY_HIGH
am wenigsten blockiert. - TEMPERATURE:
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.
- TOP_P:
Der Wert „Top-P“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Die Tokens werden von den wahrscheinlichsten (siehe „Top-K“) bis zu den unwahrscheinlichsten Werten ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem „Top-P“-Wert entspricht. Beispiel: Wenn die Tokens A, B und C eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der „Top-P“-Wert
0.5
ist, wählt das Modell anhand der Temperatur entweder A oder B als das nächste Token und C als Kandidaten ausschließen.Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.
- TOP_K:
Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von
1
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.
- MAX_OUTPUT_TOKENS: 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.
- STOP_SEQUENCES:
Gibt eine Liste an Strings an, die das Modell anweist, Text nicht mehr zu generieren, wenn einer der Strings in der Antwort gefunden wird. Kommt ein String mehrmals in der Antwort vor, so wird die Antwort an der Stelle abgeschnitten, an der er erfasst wurde.
Bei Strings wird zwischen Groß- und Kleinschreibung unterschieden.
Wenn zum Beispiel folgende Antwort zurückgegeben wird undstopSequences
nicht angegeben ist:
public static string reverse(string myString)
Dann lautet zurückgegebene Antwort mitstopSequences
auf["Str", "reverse"]
gesetzt:
public static string
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD
JSON-Text der Anfrage:
{ "contents": { "role": "ROLE", "parts": [ { "inlineDATA": { "mimeType": "MIME_TYPE", "data": "B64_BASE_IMAGE" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, "safety_settings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, "generation_config": { "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "candidateCount": 1, "maxOutputTokens": MAX_OUTPUT_TOKENS, "stopSequences": STOP_SEQUENCES, } }
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
und führen Sie den folgenden Befehl aus:
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
und führen Sie den folgenden Befehl aus:
$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:
Beispiel: cURL-Befehls
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json"
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:${GENERATE_RESPONSE_METHOD} -d \
$'{
"contents": {
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/images/cat.png"
}
},
{
"text": "Describe this picture."
},
]
},
"safety_settings": {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
"generation_config": {
"temperature": 0.4,
"topP": 1,
"topK": 32,
"maxOutputTokens": 2048,
}
}'
Mehrere Bilder
Jeder der folgenden Tabs zeigt eine andere Möglichkeit, mehrere Bilder in eine Prompt-Anfrage aufzunehmen. Diese Bildbeispiele funktionieren 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert wurden.
Verwenden Sie für eine Streamingantwort 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert wurden.
Verwenden Sie für eine Nicht-Streamingantwort die Methode generateContentStream
.
public ResponseStreamgenerateContentStream(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 zu Node.js SDK for 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert 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 -Einrichtungsschritten in derVertex AI-Kurzanleitung. Weitere Informationen finden Sie in der Referenzdokumentation zum Vertex AI Go SDK for 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 eine Streamingantwort oder eine Nicht-Streamingantwort generiert. Das Streaming umfasst Antworten auf Prompts, sobald diese generiert werden. Das heißt, sobald das Modell Ausgabetokens generiert, werden die Ausgabetokens gesendet. Eine Nicht-Streamingantwort auf Prompts wird erst gesendet, wenn alle Ausgabetokens generiert 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 C#-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI C# API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
REST
Sie können REST verwenden, um einen Text-Prompt zu testen, indem Sie mit der Vertex AI API eine POST-Anfrage an den Endpunkt des Publisher-Modells senden.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- GENERATE_RESPONSE_METHOD: Der Antworttyp, den das Modell generieren soll.
Wählen Sie eine Methode aus, die generiert, wie die Antwort des Modells zurückgegeben werden soll:
streamGenerateContent
: Die Antwort wird während der Generierung gestreamt, um die Wahrnehmung der Latenz für eine menschliche Zielgruppe 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, um verfügbare Regionen zu maximieren
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 verfügbar:
gemini-1.0-pro-vision
- ROLE: Die Rolle in einer Unterhaltung, die mit dem Inhalt verknüpft ist. Die Angabe einer Rolle ist auch bei Anwendungsfällen mit nur einem Schritt erforderlich.
Unter anderem sind folgende Werte zulässig:
USER
: Gibt Inhalte an, die von Ihnen gesendet werden
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
- B64_BASE: Die base64-Codierung des Bildes, PDFs oder Videos, das inline in den Prompt aufgenommen werden soll. Wenn Sie Medien inline einschließen, müssen Sie auch MIMETYPE angeben.
- FILE_URI: Der Cloud Storage-URI der Datei, die in den Prompt aufgenommen werden soll. Das Bucket-Objekt muss entweder öffentlich lesbar sein oder sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Sie müssen auch den Medientyp (MIMETYPE) der Datei angeben.
- MIME_TYPE: Der Medientyp des Bildes oder Videos, das in den Feldern
data
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
text/plain
video/mov
video/mpeg
video/mp4
video/mpg
video/avi
video/wmv
video/mpegps
video/flv
- SAFETY_CATEGORY:
Die Sicherheitskategorie, für die ein Schwellenwert konfiguriert wird. Unter anderem sind folgende Werte zulässig:
Zum Maximieren von Sicherheitskategorien klicken
HARM_CATEGORY_SEXUALLY_EXPLICIT
HARM_CATEGORY_HATE_SPEECH
HARM_CATEGORY_HARASSMENT
HARM_CATEGORY_DANGEROUS_CONTENT
- THRESHOLD: Der Schwellenwert für das Blockieren von Antworten, die basierend auf der Wahrscheinlichkeit zur angegebenen Sicherheitskategorie gehören könnten. Unter anderem sind folgende Werte zulässig:
Zum Maximieren der Grenzwerte für die Blockierung klicken
BLOCK_NONE
BLOCK_ONLY_HIGH
BLOCK_MEDIUM_AND_ABOVE
(Standard)BLOCK_LOW_AND_ABOVE
BLOCK_LOW_AND_ABOVE
blockiert am meisten, währendBLOCK_ONLY_HIGH
am wenigsten blockiert. - TEMPERATURE:
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.
- TOP_P:
Der Wert „Top-P“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Die Tokens werden von den wahrscheinlichsten (siehe „Top-K“) bis zu den unwahrscheinlichsten Werten ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem „Top-P“-Wert entspricht. Beispiel: Wenn die Tokens A, B und C eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der „Top-P“-Wert
0.5
ist, wählt das Modell anhand der Temperatur entweder A oder B als das nächste Token und C als Kandidaten ausschließen.Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.
- TOP_K:
Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von
1
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.
- MAX_OUTPUT_TOKENS: 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.
- STOP_SEQUENCES:
Gibt eine Liste an Strings an, die das Modell anweist, Text nicht mehr zu generieren, wenn einer der Strings in der Antwort gefunden wird. Kommt ein String mehrmals in der Antwort vor, so wird die Antwort an der Stelle abgeschnitten, an der er erfasst wurde.
Bei Strings wird zwischen Groß- und Kleinschreibung unterschieden.
Wenn zum Beispiel folgende Antwort zurückgegeben wird undstopSequences
nicht angegeben ist:
public static string reverse(string myString)
Dann lautet zurückgegebene Antwort mitstopSequences
auf["Str", "reverse"]
gesetzt:
public static string
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:GENERATE_RESPONSE_METHOD
JSON-Text der Anfrage:
{ "contents": { "role": "ROLE", "parts": [ { "inlineDATA": { "mimeType": "MIME_TYPE", "data": "B64_BASE_IMAGE" } }, { "fileData": { "mimeType": "MIME_TYPE", "fileUri": "FILE_URI" } }, { "text": "TEXT" } ] }, "safety_settings": { "category": "SAFETY_CATEGORY", "threshold": "THRESHOLD" }, "generation_config": { "temperature": TEMPERATURE, "topP": TOP_P, "topK": TOP_K, "candidateCount": 1, "maxOutputTokens": MAX_OUTPUT_TOKENS, "stopSequences": STOP_SEQUENCES, } }
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
und führen Sie den folgenden Befehl aus:
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
und führen Sie den folgenden Befehl aus:
$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:
Beispiel: cURL-Befehls
LOCATION="us-central1"
MODEL_ID="gemini-1.0-pro-vision"
PROJECT_ID="test-project"
curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \
-H "Content-Type: application/json"
https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:${GENERATE_RESPONSE_METHOD} -d \
$'{
"contents": {
"role": "user",
"parts": [
{
"fileData": {
"mimeType": "image/png",
"fileUri": "gs://my-bucket/images/cat.png"
}
},
{
"text": "Describe this picture."
},
]
},
"safety_settings": {
"category": "HARM_CATEGORY_SEXUALLY_EXPLICIT",
"threshold": "BLOCK_LOW_AND_ABOVE"
},
"generation_config": {
"temperature": 0.4,
"topP": 1,
"topK": 32,
"maxOutputTokens": 2048,
}
}'
Console
So senden Sie einen multimodalen Prompt mithilfe der Google Cloud Console:
- Rufen Sie im Bereich „Vertex AI“ der Google Cloud Console die Seite Vertex AI Studio auf.
- Klicken Sie unter Prompt-Design (in einem Schritt) auf Öffnen.
Konfigurieren Sie Modell und Parameter:
- Region: Wählen Sie die Region aus, die Sie verwenden möchten.
- Modell: Wählen Sie Gemini Pro Vision 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:
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, bei dem Antworten auf Prompts empfangen werden, sobald diese generiert werden. Sie können jetzt eine Nachricht in das Nachrichtenfeld eingeben, um eine Unterhaltung mit dem Modell zu beginnen.
Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten. Wenn Sie ein Bild, eine PDF- oder ein Video in den Prompt einfügen möchten, klicken Sie auf das Symbol
.Weitere Informationen zu multimodalen Prompts finden Sie unter Multimodale Prompts entwerfen.
- 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.
Zum Maximieren erweiterter Konfigurationen klicken
Modellparameter festlegen
Die folgenden Modellparameter können für multimodale Modelle festgelegt werden:
Top-P
Der Wert „Top-P“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Die Tokens werden von den wahrscheinlichsten (siehe „Top-K“) bis zu den unwahrscheinlichsten Werten ausgewählt, bis die Summe ihrer Wahrscheinlichkeiten dem „Top-P“-Wert entspricht. Beispiel: Wenn die Tokens A, B und C eine Wahrscheinlichkeit von 0,3, 0,2 und 0,1 haben und der „Top-P“-Wert 0.5
ist, wählt das Modell anhand der Temperatur entweder A oder B als das nächste Token und C als Kandidaten ausschließen.
Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.
Top-K
Der Wert „Top-K“ ändert, wie das Modell Tokens für die Ausgabe auswählt. Ein „Top-K“ von 1
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“ von 3
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.
Temperatur
Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenn topP
und topK
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 von 0
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.
Gültige Parameterwerte
Parameter | Gemini 1.0 Pro Vision | Gemini 1.5 Pro | Gemini 1.5 Flash |
---|---|---|---|
Top-K | 1 - 40 (Standard 32) | Nicht unterstützt | Nicht unterstützt |
Top-P | 0 - 1,0 (Standard 1,0) | 0 - 1,0 (Standard 0,95) | 0 - 1,0 (Standard 0,95) |
Temperatur | 0 - 1,0 (Standard 0,4) | 0 - 2,0 (Standard 1,0) | 0 - 2,0 (Standard 1,0) |
Bildgröße und Formatanforderungen
Multimodale Gemini-Modelle unterstützen die folgenden Bild-MIME-Typen:
MIME-Typ für Bild | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
PNG - image/png |
|||
JPEG - image/jpeg |
Es gibt keine bestimmte Beschränkung für die Anzahl der Pixel in einem Bild. Größere Bilder werden jedoch herunterskaliert und auf eine maximale Auflösung von 3072 x 3072 aufgefüllt, wobei ihr ursprüngliches Seitenverhältnis beibehalten wird.
Bei Gemini 1.0 Pro Vision berücksichtigt jedes Bild 258 Tokens.
Für Gemini 1.5 Flash und Gemini 1.5 Pro:
- Wenn beide Seitenverhältnisse eines Bildes kleiner oder gleich 384 sind, werden 258 Tokens verwendet.
- Wenn eine Dimension eines Seitenverhältnisses eines Bildes größer als 384 ist, wird das Bild in Kacheln zugeschnitten. Standardmäßig wird für jede Kachelgröße die kleinste Dimension (Breite oder Höhe) geteilt durch 1,5 verwendet. Bei Bedarf wird jede Kachel so angepasst, dass sie nicht kleiner als 256 und nicht größer als 768 ist. Jede Kachel wird dann auf 768 x 768 skaliert und verwendet 258 Tokens.
Die maximale Anzahl an Bildern, die in einer Prompt-Anfrage enthalten sein können, beträgt:
- 16 für Gemini 1.0 Pro Vision
- 3.000 für Gemini 1.5 Flash und Gemini 1.5 Pro
Best Practices
Beachten Sie bei der Verwendung von Bildern die folgenden Best Practices und Informationen, um die besten Ergebnisse zu erzielen.
- Verwenden Sie Prompts mit einem einzelnen Bild, um bessere Ergebnisse zu erzielen als Prompts mit mehreren Bildern, wenn Sie Text in einem Bild erkennen möchten.
- Wenn Ihr Prompt ein einzelnes Bild enthält, platzieren Sie das Bild vor dem Prompt.
Wenn sich im Prompt mehrere Bilder befinden und Sie später in Ihrem Prompt darauf verweisen möchten oder das Modell in der Modellantwort auf sie verweisen soll, kann es hilfreich sein, jedem Bild einen Index vor dem Bild zu geben. eine Verwenden Sie
a
b
c
oderimage 1
image 2
image 3
für Ihren Index. Das folgende Beispiel zeigt die Verwendung indexierter Bilder in einem Prompt:image 1 <piano_recital.jpeg> image 2 <family_dinner.jpeg> image 3 <coffee_shop.jpeg> Write a blogpost about my day using image 1 and image 2. Then, give me ideas for tomorrow based on image 3.
Bilder mit einer höheren Auflösung liefern bessere Ergebnisse.
Fügen Sie einige Beispiele in den Prompt ein.
Drehen Sie die Bilder in der richtigen Ausrichtung, bevor Sie sie dem Prompt hinzufügen.
Vermeiden Sie unscharfe Bilder.
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:
- Räumliche Logik: Die Modelle finden Text oder Objekte in Bildern nicht genau. Sie geben möglicherweise nur die ungefähre Anzahl von Objekten zurück.
- Medizinische Verwendung: Die Modelle eignen sich nicht für die Interpretation medizinischer Bilder (z. B. Röntgen- und CT-Scans) oder die Bereitstellung von medizinischem Rat.
- Personenerkennung: Die Modelle sollten nicht verwendet werden, um Personen zu identifizieren, die keine Prominenten in Bildern sind.
- Inhaltsmoderation: Die Modelle verweigern Antworten auf Bilder, die gegen unsere Sicherheitsrichtlinien verstoßen.
- Genauigkeit: Die Modelle können bei der Interpretation von gedrehten Bildern sowie Bildern mit niedriger Qualität oder sehr niedrigen Auflösungen halluzinieren oder Fehler machen. Die Modelle können auch bei der Interpretation von handschriftlichem Text in Bilddokumenten halluzinieren.
Nächste Schritte
- Entwickeln Sie mit multimodalen Modellen von Gemini. Neukunden erhalten ein kostenloses Google Cloud-Guthaben im Wert von 300 $, um zu erfahren, was sie mit Gemini tun können.
- Weitere Informationen zum Senden von Anfragen für Chat-Prompt-Anfragen
- Best Practices für verantwortungsbewusste KI und die Sicherheitsfilter von Vertex AI