Die Gemini-Modellfamilie enthält Modelle, die mit multimodalen Prompt-Anfragen funktionieren. Der Begriff multimodal gibt an, dass Sie mehr als eine Modalität oder einen Eingabetyp in einem Prompt verwenden können. Modelle, die nicht multimodal sind, akzeptieren nur Prompts mit Text. Modalitäten können Text, Audio, Video und mehr umfassen.
Es gibt mehrere Möglichkeiten, multimodale Lösungen mithilfe der Gemini API zu implementieren, einschließlich der Python-, Node.js-, Java- und Go-SDKs, der Google Cloud Console und der REST API. Codebeispiele weiter unten in diesem Dokument zeigen, wie Sie mit diesen Optionen multimodale Lösungen erstellen.
Die multimodalen Gemini-Modelle sind:
- Gemini 1.5 Flash
- Gemini 1.5 Pro,
- Gemini 1.0 Pro Vision
Die folgende Tabelle zeigt, mit welchen Modalitäten jede multimodale Gemini API in einer Prompt-Anfrage funktioniert.
Modell | Text | Code | Bilder | Audio | Video | Video/Audio | |
---|---|---|---|---|---|---|---|
Gemini 1.5 Flash | |||||||
Gemini 1.5 Pro, | |||||||
Gemini 1.0 Pro Vision | |||||||
Gemini 1.0 Pro |
Wenn Sie ein multimodales Modell in der Google Cloud Console untersuchen möchten, wählen Sie die entsprechende Modellkarte in Model Garden aus:
- Zur Modellkarte „Gemini 1.5 Flash“
- Zur Modellkarte „Gemini 1.5 Pro“
- Zur Modellkarte „Gemini 1.0 Pro Vision“
Eine Liste der von Gemini-Modellen unterstützten Sprachen finden Sie unter Sprachunterstützung. 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.
Unterschiede bei multimodalen Modellen
Die Unterschiede zwischen multimodalen Gemini-Modellen werden in den folgenden Tabellen angegeben. Anhand dieser Informationen können Sie entscheiden, welches Modell für Sie am besten geeignet ist.
Text
Im Folgenden sind einige der Unterschiede in der Textmodalität zwischen den multimodalen Gemini-Modellen aufgeführt:
Modell | Details zur Textmodalität |
---|---|
Gemini 1.5 Flash, Gemini 1.5 Pro |
Die Kontextlänge beträgt 1 Million Tokens, was etwa einem Buch mit 4.000 Seiten entspricht. Dadurch kann das Modell langen Text wie Bücher, mehrere PDFs oder Nutzerhandbücher ausgeben. |
Gemini 1.0 Pro Vision | Die maximale Anzahl an Tokens beträgt 16.384 bzw. ein Buch mit 128 Seiten bei 250 Wörtern pro Seite. Dieser Höchstwert umfasst sowohl Eingabe- als auch Ausgabetokens. Die maximale Anzahl an Ausgabetokens beträgt 2.048. |
Code
Im Folgenden sind einige der Unterschiede zwischen multimodalen Modellen von Gemini bei der Arbeit mit Code aufgeführt:
Modell | Details zur Codemodalität |
---|---|
Gemini 1.5 Flash, Gemini 1.5 Pro |
Die Kontextlänge beträgt 1 Million Tokens, sodass das Modell mit einer gesamten Codebasis oder einer gesamten Anwendungscodebasis arbeiten kann. |
Gemini 1.0 Pro Vision | Die maximale Anzahl an Tokens beträgt 16.384 bzw. ein Buch mit 128 Seiten bei 250 Wörtern pro Seite. Dieser Höchstwert umfasst sowohl Eingabe- als auch Ausgabetokens. Die maximale Anzahl an Ausgabetokens beträgt 2.048. |
Bild
Im Folgenden sind einige der Unterschiede in der Bildmodalität zwischen den multimodalen Gemini-Modellen aufgeführt:
Modell | Details zur Bildmodalität |
---|---|
Gemini 1.5 Flash, Gemini 1.5 Pro |
Die maximale Anzahl von Bildern pro Prompt beträgt 3.000. |
Gemini 1.0 Pro Vision | Die maximale Anzahl von Bildern pro Prompt beträgt 16. |
Audio (nur Sprache)
Im Folgenden sind einige der Unterschiede in der Audiomodalität zwischen den multimodalen Gemini-Modellen aufgeführt:
Modell | Details zur Audiomodalität |
---|---|
Gemini 1.5 Flash, Gemini 1.5 Pro |
Die maximale Anzahl von Stunden Audio pro Prompt beträgt etwa 8,4 Stunden oder bis zu 1 Million Tokens. Sprache kann für die Zusammenfassung, Transkription und Übersetzung von Audios verstanden werden. |
Gemini 1.0 Pro Vision | Audio wird nicht unterstützt. |
Video
Im Folgenden sind einige der Unterschiede in der Videomodalität zwischen den multimodalen Gemini-Modellen aufgeführt:
Modell | Details zur Videomodalitäten |
---|---|
Gemini 1.5 Flash, Gemini 1.5 Pro |
Die maximale Videolänge mit Audio beträgt ca. 50 Minuten. Die maximale Videolänge für Videos ohne Audio beträgt 1 Stunde. Die maximale Anzahl von Videos pro Prompt ist 10. Das Modell kann sowohl Video- als auch Audiodaten verwenden, um den Prompt zu beantworten. Beispielsweise kann ein Video mithilfe der visuellen Inhalte und der Sprache im Video zusammengefasst werden. |
Gemini 1.0 Pro Vision | Die maximale Videolänge beträgt 2 Minuten. Die maximale Anzahl von Videos pro Prompt ist 1. Der Ton im Video wird ignoriert. |
Im Folgenden sind einige der Unterschiede in der PDF-Modalität zwischen den multimodalen Gemini-Modellen aufgeführt:
Modell | Details der PDF-Modalität |
---|---|
Gemini 1.5 Flash, Gemini 1.5 Pro |
Die maximale Anzahl von Seiten pro Prompt beträgt 300. Die maximale Dateigröße für eine PDF-Datei beträgt 30 MB. |
Gemini 1.0 Pro Vision | Die maximale Anzahl von Seiten pro Prompt beträgt 16. Die maximale Dateigröße für eine PDF-Datei beträgt 30 MB. |
Kurzanleitung
Verwenden Sie die folgenden Codebeispiele, um die Gemini API zu verwenden. Jedes Codebeispiel zeigt die Arbeit mit einer anderen Modalität. Einige Codebeispiele in diesem Dokument funktionieren mit allen multimodalen Modellen von Gemini und andere nur mit Gemini 1.5 Pro. Jedes Codebeispiel gibt an, mit welchen Modellen es funktioniert.
Zum Testen und Iterieren multimodaler Prompts empfehlen wir die Verwendung der Google Cloud Console. Um einen multimodalen Prompt 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:
Einzelnes Bild
Die Codebeispiele zeigen, wie der Inhalt eines Bildes identifiziert wird.
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 diese 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 diese 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 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 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 diese 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 mit REST einen Text-Prompt 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, 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, 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 des Bildes oder Videos, das in den Prompt aufgenommen werden soll. Der Bucket, in dem die Datei gespeichert ist, muss sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Sie müssen auch MIMETYPE 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 über die 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:
- 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, 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. - Fundierung aktivieren: Wenn diese Option aktiviert ist, erhalten Sie sachlich fundierte Modellantworten. Fundierung unterstützt nur die Texteingabe und Textausgabe. Weitere Informationen finden Sie unter Fundierungsübersicht.
- Wählen Sie Fundierung aktivieren aus.
- Klicken Sie auf Anpassen.
- Geben Sie die Fundierungsquelle und den Fundierungspfad an.
- Klicken Sie auf Speichern.
- Streamingantworten: Diese Option ist nicht aktiviert. Die Google Cloud Console unterstützt nur das Streaming, bei dem Antworten auf Prompts empfangen werden, sobald die Antworten generiert werden.
- So laden Sie Medien wie PDF-, MP4-, WAV- und JPG-Dateien hoch:
- Geben Sie Ihren Prompt in den Bereich Prompt ein. Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten.
- Klicken Sie auf Medien einfügen und wählen Sie eine Quelle aus. Wenn Sie Google Drive als Quelle auswählen, müssen Sie ein Konto auswählen und Vertex AI Studio die Einwilligung erteilen, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Wenn Sie mehrere Dateien hochladen möchten, wiederholen Sie diesen Schritt. Sie können mehrere Bilder mit einer Prompt-Größe von insgesamt 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Rufen Sie die Datei auf, die Sie hochladen möchten, klicken Sie auf die Datei und dann auf Auswählen. Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt.
- Klicken Sie auf Senden und die Antwort wird generiert.
- 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.
Klicken, um erweiterte Konfigurationen zu maximieren
Einzelne PDF-Datei
Die Codebeispiele zeigen, wie Sie eine PDF-Datei mit dem Vertex AI SDK für Python in eine Prompt-Anfrage einfügen.
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 diese 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 diese 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 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 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 diese 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
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.
Console
So senden Sie einen multimodalen Prompt über die 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:
- 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, 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. - Fundierung aktivieren: Wenn diese Option aktiviert ist, erhalten Sie sachlich fundierte Modellantworten. Fundierung unterstützt nur die Texteingabe und Textausgabe. Weitere Informationen finden Sie unter Fundierungsübersicht.
- Wählen Sie Fundierung aktivieren aus.
- Klicken Sie auf Anpassen.
- Geben Sie die Fundierungsquelle und den Fundierungspfad an.
- Klicken Sie auf Speichern.
- Streamingantworten: Diese Option ist nicht aktiviert. Die Google Cloud Console unterstützt nur das Streaming, bei dem Antworten auf Prompts empfangen werden, sobald die Antworten generiert werden.
- So laden Sie Medien wie PDF-, MP4-, WAV- und JPG-Dateien hoch:
- Geben Sie Ihren Prompt in den Bereich Prompt ein. Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten.
- Klicken Sie auf Medien einfügen und wählen Sie eine Quelle aus. Wenn Sie Google Drive als Quelle auswählen, müssen Sie ein Konto auswählen und Vertex AI Studio die Einwilligung erteilen, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Wenn Sie mehrere Dateien hochladen möchten, wiederholen Sie diesen Schritt. Sie können mehrere Bilder mit einer Prompt-Größe von insgesamt 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Rufen Sie die Datei auf, die Sie hochladen möchten, klicken Sie auf die Datei und dann auf Auswählen. Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt.
- Klicken Sie auf Senden und die Antwort wird generiert.
- 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.
Klicken, um erweiterte Konfigurationen zu maximieren
Einzelnes Video
Die Codebeispiele zeigen, wie Sie ein Video in eine Prompt-Anfrage aufnehmen.
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 diese 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 diese 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 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 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 diese 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 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 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 diese 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 mit REST einen Text-Prompt 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, 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, 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 des Bildes oder Videos, das in den Prompt aufgenommen werden soll. Der Bucket, in dem die Datei gespeichert ist, muss sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Sie müssen auch MIMETYPE 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 über die 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:
- 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, 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. - Fundierung aktivieren: Wenn diese Option aktiviert ist, erhalten Sie sachlich fundierte Modellantworten. Fundierung unterstützt nur die Texteingabe und Textausgabe. Weitere Informationen finden Sie unter Fundierungsübersicht.
- Wählen Sie Fundierung aktivieren aus.
- Klicken Sie auf Anpassen.
- Geben Sie die Fundierungsquelle und den Fundierungspfad an.
- Klicken Sie auf Speichern.
- Streamingantworten: Diese Option ist nicht aktiviert. Die Google Cloud Console unterstützt nur das Streaming, bei dem Antworten auf Prompts empfangen werden, sobald die Antworten generiert werden.
- So laden Sie Medien wie PDF-, MP4-, WAV- und JPG-Dateien hoch:
- Geben Sie Ihren Prompt in den Bereich Prompt ein. Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten.
- Klicken Sie auf Medien einfügen und wählen Sie eine Quelle aus. Wenn Sie Google Drive als Quelle auswählen, müssen Sie ein Konto auswählen und Vertex AI Studio die Einwilligung erteilen, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Wenn Sie mehrere Dateien hochladen möchten, wiederholen Sie diesen Schritt. Sie können mehrere Bilder mit einer Prompt-Größe von insgesamt 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Rufen Sie die Datei auf, die Sie hochladen möchten, klicken Sie auf die Datei und dann auf Auswählen. Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt.
- Klicken Sie auf Senden und die Antwort wird generiert.
- 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.
Klicken, um erweiterte Konfigurationen zu maximieren
Einzelnes Audio
Die Codebeispiele zeigen, wie Sie eine Audiodatei zum Zusammenfassen eines Podcasts verwenden. 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 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 diese 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
Console
So senden Sie einen multimodalen Prompt über die 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:
- 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, 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. - Fundierung aktivieren: Wenn diese Option aktiviert ist, erhalten Sie sachlich fundierte Modellantworten. Fundierung unterstützt nur die Texteingabe und Textausgabe. Weitere Informationen finden Sie unter Fundierungsübersicht.
- Wählen Sie Fundierung aktivieren aus.
- Klicken Sie auf Anpassen.
- Geben Sie die Fundierungsquelle und den Fundierungspfad an.
- Klicken Sie auf Speichern.
- Streamingantworten: Diese Option ist nicht aktiviert. Die Google Cloud Console unterstützt nur das Streaming, bei dem Antworten auf Prompts empfangen werden, sobald die Antworten generiert werden.
- So laden Sie Medien wie PDF-, MP4-, WAV- und JPG-Dateien hoch:
- Geben Sie Ihren Prompt in den Bereich Prompt ein. Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten.
- Klicken Sie auf Medien einfügen und wählen Sie eine Quelle aus. Wenn Sie Google Drive als Quelle auswählen, müssen Sie ein Konto auswählen und Vertex AI Studio die Einwilligung erteilen, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Wenn Sie mehrere Dateien hochladen möchten, wiederholen Sie diesen Schritt. Sie können mehrere Bilder mit einer Prompt-Größe von insgesamt 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Rufen Sie die Datei auf, die Sie hochladen möchten, klicken Sie auf die Datei und dann auf Auswählen. Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt.
- Klicken Sie auf Senden und die Antwort wird generiert.
- 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.
Klicken, um erweiterte Konfigurationen zu maximieren
Erweiterte Beispiele
Die folgenden Beispiele sind komplexer als die vorherigen.
Mehrere Bilder
Die Codebeispiele zeigen, wie Sie mehrere Bilder in eine Prompt-Anfrage einbeziehen.
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 diese 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 diese 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 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 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 diese 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 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 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 diese 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 mit REST einen Text-Prompt 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, 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, 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 des Bildes oder Videos, das in den Prompt aufgenommen werden soll. Der Bucket, in dem die Datei gespeichert ist, muss sich im selben Google Cloud-Projekt befinden, von dem die Anfrage gesendet wird. Sie müssen auch MIMETYPE 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 über die 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:
- 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, 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. - Fundierung aktivieren: Wenn diese Option aktiviert ist, erhalten Sie sachlich fundierte Modellantworten. Fundierung unterstützt nur die Texteingabe und Textausgabe. Weitere Informationen finden Sie unter Fundierungsübersicht.
- Wählen Sie Fundierung aktivieren aus.
- Klicken Sie auf Anpassen.
- Geben Sie die Fundierungsquelle und den Fundierungspfad an.
- Klicken Sie auf Speichern.
- Streamingantworten: Diese Option ist nicht aktiviert. Die Google Cloud Console unterstützt nur das Streaming, bei dem Antworten auf Prompts empfangen werden, sobald die Antworten generiert werden.
- So laden Sie Medien wie PDF-, MP4-, WAV- und JPG-Dateien hoch:
- Geben Sie Ihren Prompt in den Bereich Prompt ein. Das Modell verwendet die vorherigen Nachrichten als Kontext für neue Antworten.
- Klicken Sie auf Medien einfügen und wählen Sie eine Quelle aus. Wenn Sie Google Drive als Quelle auswählen, müssen Sie ein Konto auswählen und Vertex AI Studio die Einwilligung erteilen, bei der ersten Auswahl dieser Option auf Ihr Konto zuzugreifen. Wenn Sie mehrere Dateien hochladen möchten, wiederholen Sie diesen Schritt. Sie können mehrere Bilder mit einer Prompt-Größe von insgesamt 10 MB hochladen. Eine einzelne Datei darf nicht größer als 7 MB sein.
- Rufen Sie die Datei auf, die Sie hochladen möchten, klicken Sie auf die Datei und dann auf Auswählen. Die Miniaturansicht der Datei wird im Bereich Prompt angezeigt.
- Klicken Sie auf Senden und die Antwort wird generiert.
- 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.
Klicken, um erweiterte Konfigurationen zu maximieren
Audiotranskript
Die Codebeispiele zeigen, wie Sie eine Audiodatei zum Transkribieren eines Interviews verwenden. Dieses Beispiel funktioniert nur mit Gemini 1.5 Pro.
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 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 diese 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.
Video mit Audio
Die Codebeispiele zeigen, wie eine Videodatei mit Audio zusammengefasst wird. Die Codebeispiele geben auch Kapitel mit Zeitstempeln zurück. Diese Beispiele funktionieren 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 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 diese 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 diese 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 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 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 diese 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
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.
Alle Modalitäten
Die Codebeispiele zeigen, wie Bilder, Video, Audio und Text gleichzeitig verarbeitet werden. Diese Beispiele funktionieren mit Gemini 1.5 Pro und Gemini 1.5 Flash.
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 diese 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 diese 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 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 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 diese 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
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.
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) |
Anforderungen an Medien
Wenn Sie in Ihren Prompt-Anfragen eine Mediendatei verwenden, achten Sie darauf, dass sie die folgenden Anforderungen erfüllt:
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 |
Die Anzahl der Pixel in einem Bild ist nicht begrenzt. 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 Abmessungen des Seitenverhältnisses eines Bildes kleiner oder gleich 384 sind, werden 258 Tokens verwendet.
- Wenn eine Dimension des Seitenverhältnisses eines Bildes größer als 384 ist, wird das Bild auf Kacheln zugeschnitten. Jede Kachelgröße wird standardmäßig auf die kleinste Dimension (Breite oder Höhe) geteilt durch 1,5 gesetzt. 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 von Bildern, die in einer Prompt-Anfrage enthalten sein können, ist:
- 16 für Gemini 1.0 Pro Vision
- 3.000 für Gemini 1.5 Flash und Gemini 1.5 Pro
Audioanforderungen
Gemini 1.5 Flash und Gemini 1.5 Pro unterstützen die folgenden Audio-MIME-Typen. Gemini 1.0 Pro Vision unterstützt kein Audio.
MIME-Typ „Audio“ | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
AAC - audio/aac |
|||
FLAC - audio/flac |
|||
MP3 - audio/mp3 |
|||
MPA - audio/m4a |
|||
MPEG - audio/mpeg |
|||
MPGA - audio/mpga |
|||
MP4 - audio/mp4 |
|||
OPUS - audio/opus |
|||
PCM - audio/pcm |
|||
WAV - audio/wav |
|||
WEBM - audio/webm |
Videoanforderungen
Für Videos werden 1 fps verwendet. Jeder Videoframe berücksichtigt 258 Tokens.
Bei Gemini 1.5 Flash und Gemini 1.5 Pro wird der Audiotrack mit Videoframes codiert. Der Audiotrack wird ebenfalls in 1-Sekunden-Blöcke unterteilt, die jeweils 32 Tokens enthalten. Die Videoframe- und Audiotokens werden mit ihren Zeitstempeln verschränkt. Die Zeitstempel werden als 7 Tokens dargestellt.
Multimodale Gemini-Modelle unterstützen die folgenden Video-MIME-Typen:
Video-MIME-Typ | Gemini 1.5 Flash | Gemini 1.5 Pro | Gemini 1.0 Pro Vision |
---|---|---|---|
FLV - video/x-flv |
|||
MOV - video/mov |
|||
MPEG - video/mpeg |
|||
MPEGPS - video/mpegps |
|||
MPG - video/mpg |
|||
MP4 - video/mp4 |
|||
WEBM - video/webm |
|||
WMV - video/wmv |
|||
3GPP - video/3gpp |
Anforderungen an PDF-Dateien
Der erforderliche MIME-Typ für eine PDF-Datei ist application/pdf
.
Best Practices
Dieser Abschnitt enthält Best Practices für verschiedene Modalitäten.
Best Practices für Bilder
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.
Best Practices für Videos
Beachten Sie bei der Verwendung von Videos die folgenden Best Practices und Informationen, um die besten Ergebnisse zu erzielen:
- Verwenden Sie nicht mehr als ein Video pro Prompt.
- Wenn Ihr Prompt ein einzelnes Video enthält, platzieren Sie das Video vor dem Text-Prompt.
- Wenn Sie Gemini 1.0 Pro Vision verwenden, verarbeitet das Modell 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.
- Wenn Sie Gemini 1.0 Pro Vision verwenden, werden nur Informationen in den ersten zwei Minuten verarbeitet.
- Wenn Sie Gemini 1.0 Pro Vision verwenden, werden keine Audioinformationen oder Zeitstempelmetadaten analysiert. 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.
- Wenn eine Zeitstempellokalisierung in einem Video mit Audio erforderlich ist, bitten Sie das Modell, Zeitstempel im Format
MM:SS
zu generieren, wobei die ersten beiden Ziffern für Minuten und die letzten beiden Ziffern für Sekunden stehen. Verwenden Sie für Fragen zu einem Zeitstempel dasselbe Format.
Best Practices für PDF
Beachten Sie bei der Verwendung von PDFs die folgenden Best Practices und Informationen, um die besten Ergebnisse zu erzielen.
- PDFs werden als Bilder behandelt, sodass eine einzelne Seite einer PDF-Datei als ein einzelnes Bild behandelt wird.
- Die Anzahl der unterstützten Seiten ist auf die Anzahl der Bilder beschränkt, die ein Modell unterstützen kann. Bei Gemini 1.0 Pro Vision ist das Limit 16. Für Gemini 1.5 Pro und Gemini 1.5 Flash beträgt das Limit 300. Wenn Sie ein langes Dokument haben, sollten Sie es in mehrere PDFs aufteilen, um es zu verarbeiten.
- Wenn Sie PDFs als Eingabe verwenden, entsprechen die Kosten den Gemini-Bildpreisen. Wenn Sie beispielsweise eine zweiseitige PDF in einen Gemini API-Aufruf einfügen, wird Ihnen eine Eingabegebühr für die Verarbeitung von zwei Bildern berechnet.
- Wenn Ihr Prompt eine einzelne PDF-Datei enthält, platzieren Sie die PDF-Datei vor dem Text-Prompt.
- Verwenden Sie PDFs, die mit Text erstellt wurden, der als Text gerendert wird, anstatt Text in gescannten Bildern zu verwenden. Dieses Format sorgt dafür, dass Text maschinenlesbar ist, damit das Modell im Vergleich zu gescannten Bild-PDFs einfacher bearbeiten, suchen und ändern kann. Dies liefert optimale Ergebnisse bei der Arbeit mit textintensiven Dokumenten wie Verträgen.
Weitere multimodale Eingabeaufforderungen finden Sie unter Multimodale Prompts entwerfen.
Multimodale Einschrä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 erkennen Text oder Objekte in Bildern und PDFs nicht genau. Möglicherweise geben sie 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 sind nicht dazu gedacht, in Bildern Personen zu identifizieren, die keine Prominenten sind.
- Inhalte moderieren: Die Modelle geben keine Antworten auf Bilder oder Videos aus, 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 bei der Interpretation von handschriftlichem Text in Bildern oder PDF-Dokumenten auch halluzinieren.
- 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.
- Nur-Audio-Zeitstempel: Die Modelle, die Audio unterstützen, können für Anfragen mit Audiodateien keine genauen Zeitstempel generieren. Dazu gehören auch Segmentierungen und Zeitstempel für die zeitliche Lokalisierung. Zeitstempel können akkurat für Eingaben generiert werden, die Video mit Audio enthalten.
- Transkription und Satzzeichen: Von Gemini 1.5 Flash zurückgegebene Transkriptionen enthalten möglicherweise keine Satzzeichen.
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.
- Multimodale Prompts erstellen
- Weitere Informationen zum Senden von Anfragen für Chat-Prompt-Anfragen
- Verantwortungsbewusste Best Practices für KI und Sicherheitsfilter von Vertex AI