Mit generateContent
oder streamGenerateContent
Inhalte mit Gemini generieren
Die Gemini-Modellreihe umfasst Modelle, die mit multimodalen Prompt-Anfragen arbeiten. Der Begriff „multimodal“ bedeutet, dass Sie in einem Prompt mehr als eine Modalität oder Art von Eingabe verwenden können. Modelle, die nicht multimodal sind, akzeptieren nur Prompts mit Text. Modalitäten können Text, Audio, Video und mehr umfassen.
Google Cloud -Konto erstellen
Wenn Sie die Gemini API in Vertex AI verwenden möchten, erstellen Sie ein Google Cloud Konto.
Nachdem Sie Ihr Konto erstellt haben, können Sie in diesem Dokument den Anfragetext, die Modellparameter, den Antworttext und einige Beispiele anfragen des Gemini-Modells überprüfen.
Wenn Sie bereit sind, lesen Sie in der Kurzanleitung zur Gemini API in Vertex AI nach, wie Sie eine Anfrage an die Gemini API in Vertex AI mit einem SDK für Programmiersprachen oder der REST API senden.
Unterstützte Modelle
Alle Gemini-Modelle unterstützen die Erstellung von Inhalten.
Parameterliste
Einzelheiten zur Implementierung finden Sie in den Beispielen.
Anfragetext
{ "cachedContent": string, "contents": [ { "role": string, "parts": [ { // Union field data can be only one of the following: "text": string, "inlineData": { "mimeType": string, "data": string }, "fileData": { "mimeType": string, "fileUri": string }, // End of list of possible types for union field data. "videoMetadata": { "startOffset": { "seconds": integer, "nanos": integer }, "endOffset": { "seconds": integer, "nanos": integer }, "fps": double } } ] } ], "systemInstruction": { "role": string, "parts": [ { "text": string } ] }, "tools": [ { "functionDeclarations": [ { "name": string, "description": string, "parameters": { object (OpenAPI Object Schema) } } ] } ], "safetySettings": [ { "category": enum (HarmCategory), "threshold": enum (HarmBlockThreshold) } ], "generationConfig": { "temperature": number, "topP": number, "topK": number, "candidateCount": integer, "maxOutputTokens": integer, "presencePenalty": float, "frequencyPenalty": float, "stopSequences": [ string ], "responseMimeType": string, "responseSchema": schema, "seed": integer, "responseLogprobs": boolean, "logprobs": integer, "audioTimestamp": boolean }, "labels": { string: string } }
Der Anfragetext enthält Daten mit den folgenden Parametern:
Parameter | |
---|---|
| Optional:
Der Name des im Cache gespeicherten Inhalts, der als Kontext für die Vorhersage verwendet wird. Format:
|
|
Erforderlich: Der Inhalt der aktuellen Unterhaltung mit dem Modell. Bei Einzelabfragen ist dies eine einzelne Instanz. Bei Mehrfachabfragen ist dies ein wiederkehrendes Feld, das den Unterhaltungsverlauf und die letzte Anfrage enthält. |
|
Optional: Verfügbar für Anleitung für das Modell, um es zu einer besseren Leistung zu steuern. Beispiel: „Antworten Sie so kurz wie möglich“ oder „Verwenden Sie in Ihrer Antwort keine technischen Begriffe“. Die Das Feld |
|
Optional. Ein Code, der es dem System ermöglicht, mit externen Systemen zu interagieren, um eine Aktion oder eine Reihe von Aktionen außerhalb des Wissens und Umfangs des Modells auszuführen. Weitere Informationen |
|
Optional. Weitere Informationen |
|
Optional: Einstellungen pro Anfrage zum Blockieren unsicherer Inhalte. Erzwungen am |
|
Optional: Einstellungen für die Generierungskonfiguration. |
|
Optional: Metadaten, die Sie dem API-Aufruf im Format von Schlüssel/Wert-Paaren hinzufügen können. |
contents
Der strukturierte Basisdatentyp, der mehrteilige Inhalte einer Nachricht enthält.
Diese Klasse besteht aus zwei Hauptattributen: role
und parts
. Das Attribut role
bezeichnet die Person, die den Inhalt erzeugt, während das Attribut parts
mehrere Elemente enthält, die jeweils ein Datensegment innerhalb einer Nachricht darstellen.
Parameter | |
---|---|
|
Die Identität der Entität, die die Nachricht erstellt. Folgende Werte werden unterstützt:
Der Wert |
|
Eine Liste geordneter Teile einer einzelnen Nachricht. Verschiedene Teile haben möglicherweise unterschiedliche IANA-MIME-Typen. Informationen zu den Limits für die Eingaben, z. B. die maximale Anzahl von Tokens oder die Anzahl der Bilder, finden Sie in den Modellspezifikationen auf der Seite Google-Modelle. Informationen zum Berechnen der Anzahl der Tokens in Ihrer Anfrage finden Sie unter Tokenanzahl abrufen. |
parts
Ein Datentyp mit Medien, die Teil einer mehrteiligen Content
-Nachricht sind.
Parameter | |
---|---|
|
Optional: Ein Text-Prompt oder ein Code-Snippet. |
|
Optional: Inline-Daten in Rohbyte. Für |
|
Optional: In einer Datei gespeicherte Daten. |
|
Optional: Es enthält einen String, der das Feld |
|
Optional: Die Ergebnisausgabe eines |
|
Optional: Bei Videoeingabe der Start- und Endversatz des Videos im Duration-Format und die Framerate des Videos . Wenn Sie beispielsweise einen 10-Sekunden-Clip ab 1:00 Uhr mit einer Bildrate von 10 Bildern pro Sekunde angeben möchten, legen Sie Folgendes fest:
Die Metadaten sollten nur angegeben werden, wenn die Videodaten in |
blob
Inhalts-Blob Wenn möglich, senden Sie dies als Text und nicht als Rohbyte.
Parameter | |
---|---|
|
data oder fileUri angegeben wurde. Unter anderem sind folgende Werte zulässig:
Zum Maximieren von MIME-Typen klicken
Bei Textdateien müssen UTF-8-codiert sein. Der Inhalt der Textdatei wird auf das Tokenlimit angerechnet. Bei der Bildauflösung gibt es keine Begrenzung. |
|
Die base64-Codierung des Bildes oder Videos, das inline in den Prompt aufgenommen werden soll. Wenn Sie Medien inline einschließen, müssen Sie auch den Medientyp ( Größenbeschränkung: 20 MB. |
FileData
URI- oder Web-URL-Daten.
Parameter | |
---|---|
|
IANA-MIME-Typ der Daten. |
|
Der URI oder die URL der Datei, die in den Prompt aufgenommen werden soll. Zulässige Werte:
Wenn Sie einen |
functionCall
Ein vorhergesagter functionCall
, der vom Modell zurückgegeben wird und einen String enthält, der functionDeclaration.name
und ein strukturiertes JSON-Objekt enthält, das die Parameter und ihre Werte enthält.
Parameter | |
---|---|
|
Der Name der aufzurufenden Funktion. |
|
Die Funktionsparameter und -werte im JSON-Objektformat. Weitere Informationen zu Parametern finden Sie unter Funktionsaufrufe. |
functionResponse
Die resultierende Ausgabe von einem FunctionCall
, das einen String mit der FunctionDeclaration.name
enthält. Enthält auch ein strukturiertes JSON-Objekt mit der Ausgabe der Funktion, das als Kontext für das Modell verwendet wird. Dieser sollte das Ergebnis einer FunctionCall
enthalten, die auf der Grundlage der Modellvorhersage erstellt wurde.
Parameter | |
---|---|
|
Der Name der aufzurufenden Funktion. |
|
Die Funktionsantwort im JSON-Objektformat. |
videoMetadata
Metadaten, die den eingegebenen Videocontent beschreiben.
Parameter | |
---|---|
|
Optional: Startversatz des Videos. |
|
Optional: Endversatz des Videos. |
|
Optional:
Die Framerate des Videos, das an das Modell gesendet wurde. Wenn keine Angabe gemacht wird, ist der Standardwert |
safetySetting
Sicherheitseinstellungen.
Parameter | |
---|---|
|
Optional:
Die Sicherheitskategorie, für die ein Schwellenwert konfiguriert wird. Unter anderem sind folgende Werte zulässig:
Zum Maximieren von Sicherheitskategorien klicken
|
|
Optional: Der Schwellenwert für das Blockieren von Antworten, die basierend auf der Wahrscheinlichkeit zur angegebenen Sicherheitskategorie gehören könnten.
|
|
Optional: Geben Sie an, ob der Schwellenwert für den Wahrscheinlichkeits- oder den Schweregradwert verwendet wird. Wenn nicht angegeben, wird der Schwellenwert für den Wahrscheinlichkeitswert verwendet. |
harmCategory
Schadenskategorien, die Inhalte blockieren
Parameter | |
---|---|
|
Die Schadenskategorie ist nicht angegeben. |
|
Die Schadenskategorie ist Hassrede. |
|
Die Schadenskategorie ist gefährlicher Inhalt. |
|
Die Schadenskategorie ist Belästigung. |
|
Die Schadenskategorie umfasst sexuell explizite Inhalte. |
harmBlockThreshold
Wahrscheinlichkeitsschwellenwerte, die zum Blockieren einer Antwort verwendet werden.
Parameter | |
---|---|
|
Unbekannter Schwellenwert für Schadenssperre. |
|
Niedrigeren Schwellenwert und höher blockieren (d. h. mehr blockieren). |
|
Mittleren Grenzwert und höher blockieren. |
|
Nur einen hohen Schwellenwert blockieren (d. h. weniger blockieren). |
|
Keine blockieren. |
|
Sicherheit wird deaktiviert, wenn alle Kategorien deaktiviert sind |
harmBlockMethod
Ein Wahrscheinlichkeitsschwellenwert, der eine Antwort basierend auf einer Kombination aus Wahrscheinlichkeit und Schweregrad blockiert.
Parameter | |
---|---|
|
Die Methode der Schadenssperre ist nicht angegeben. |
|
Die Methode der Schadenssperre verwendet Punktzahlen sowohl für die Wahrscheinlichkeit als auch den Schweregrad. |
|
Die Methode der Schadenssperre verwendet den Wahrscheinlichkeitswert. |
generationConfig
Konfigurationseinstellungen, die beim Generieren des Prompts verwendet werden.
Parameter | |
---|---|
|
Optional:
Die Temperatur wird für die Probenahme während der Antwortgenerierung verwendet. Dies passiert, wenn 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.
Weitere Informationen finden Sie unter Parameter für die Inhaltsgenerierung. |
|
Optional: Falls angegeben, wird Nucleus-Sampling verwendet. 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 Geben Sie einen niedrigeren Wert für weniger zufällige Antworten und einen höheren Wert für zufälligere Antworten an.
|
|
Optional: Die Anzahl der zurückzugebenden Antwortvarianten. Für jede Anfrage werden Ihnen die Ausgabetokens aller Kandidaten in Rechnung gestellt, aber nur einmal für die Eingabetokens. Die Angabe mehrerer Kandidaten ist eine Funktion in der Vorabversion, die mit
|
|
Optional: int 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. Weitere Informationen finden Sie unter Parameter für die Inhaltsgenerierung. |
|
Optional:
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.
Die Liste darf maximal fünf Elemente enthalten. Weitere Informationen finden Sie unter Parameter für die Inhaltsgenerierung. |
|
Optional: Positive Strafen. Positive Werte nehmen Abzüge bei Tokens vor, die wiederholt im generierten Text angezeigt werden, wodurch die Wahrscheinlichkeit wiederholter Inhalte verringert wird. Der Maximalwert für |
|
Optional: Positive Werte nehmen Abzüge bei Tokens vor, die wiederholt im generierten Text angezeigt werden, wodurch die Wahrscheinlichkeit wiederholter Inhalte verringert wird. Dieser Maximalwert für |
|
Optional: MIME-Typ der Ausgabeantwort des generierten Kandidatentextes. Die folgenden MIME-Typen werden unterstützt:
Geben Sie den entsprechenden Antworttyp an, um unerwünschtes Verhalten zu vermeiden. Wenn Sie beispielsweise eine Antwort im JSON-Format benötigen, geben Sie text/plain wird nicht für die Verwendung mit responseSchema unterstützt. |
|
Optional: Schema Das Schema, dem der generierte Kandidatentext entsprechen muss. Weitere Informationen finden Sie unter Ausgabe steuern. Wenn Sie diesen Parameter verwenden möchten, müssen Sie für den Parameter |
|
Optional: Wenn die Seed-Daten auf einen bestimmten Wert festgelegt sind, versucht das Modell, für wiederholte Anfragen dieselbe Antwort bereitzustellen. Die deterministische Ausgabe wird nicht zwangsläufig erfüllt. Wenn Sie die Modell- oder Parametereinstellungen ändern, z. B. die Temperatur, kann dies außerdem zu Abweichungen in der Antwort führen, selbst wenn Sie denselben Seed-Wert verwenden. Standardmäßig wird ein zufälliger Startwert verwendet. |
|
Optional: Wenn „true“, werden die Logwahrscheinlichkeiten der Tokens zurückgegeben, die vom Modell in jedem Schritt ausgewählt wurden. Standardmäßig ist dieser Parameter auf |
|
Optional:
Gibt die Log-Wahrscheinlichkeiten der Top-Kandidaten-Tokens bei jedem Generierungsschritt zurück. Das vom Modell ausgewählte Token ist möglicherweise nicht mit dem Token des Top-Kandidaten in jedem Schritt identisch. Geben Sie die Anzahl der Kandidaten an, die zurückgegeben werden sollen, indem Sie eine Ganzzahl im Bereich von Sie müssen |
|
Optional: Verfügbar für die folgenden Modelle:
Ermöglicht das Erkennen von Zeitstempeln für reine Audiodateien. Dies ist eine Funktion in der Vorabversion. |
Antworttext
{ "candidates": [ { "content": { "parts": [ { "text": string } ] }, "finishReason": enum (FinishReason), "safetyRatings": [ { "category": enum (HarmCategory), "probability": enum (HarmProbability), "blocked": boolean } ], "citationMetadata": { "citations": [ { "startIndex": integer, "endIndex": integer, "uri": string, "title": string, "license": string, "publicationDate": { "year": integer, "month": integer, "day": integer } } ] }, "avgLogprobs": double, "logprobsResult": { "topCandidates": [ { "candidates": [ { "token": string, "logProbability": float } ] } ], "chosenCandidates": [ { "token": string, "logProbability": float } ] } } ], "usageMetadata": { "promptTokenCount": integer, "candidatesTokenCount": integer, "totalTokenCount": integer }, "modelVersion": string }
Antwortelement | Beschreibung |
---|---|
modelVersion |
Das für die Generierung verwendete Modell und die Version. Beispiel:
gemini-2.0-flash-lite-001 . |
text |
Der generierte Text. |
finishReason |
Der Grund, warum das Modell keine Tokens mehr generiert. Wenn leer, wird das Modell weiterhin die Tokens generieren. Da die Antwort die Eingabeaufforderung für Kontext verwendet, kann das Verhalten des Modells nicht mehr geändert werden, um Tokens zu generieren.
|
category |
Die Sicherheitskategorie, für die ein Schwellenwert konfiguriert wird. Unter anderem sind folgende Werte zulässig:
Zum Maximieren von Sicherheitskategorien klicken
|
probability |
Die Wahrscheinlichkeitsstufen für Schäden in den Inhalten.
|
blocked |
Ein boolesches Flag, das mit einem Sicherheitsattribut verknüpft ist, das angibt, ob die Ein- oder Ausgabe des Modells blockiert wurde. |
startIndex |
Eine Ganzzahl, die angibt, wo eine Zitation im content beginnt. Der Wert für startIndex wird in Byte angegeben und aus der in UTF-8 codierten Antwort berechnet.
|
endIndex |
Eine Ganzzahl, die angibt, wo eine Zitation in content endet. Der Wert für endIndex wird in Byte angegeben und aus der in UTF-8 codierten Antwort berechnet.
|
url |
Die URL einer Zitationsquelle. Beispiele für eine URL-Quelle sind beispielsweise eine Nachrichtenwebsite oder ein GitHub-Repository. |
title |
Der Titel einer Zitationsquelle. Beispiele für Quelltitel sind der eines Nachrichtenartikels oder eines Buches. |
license |
Die mit einer Zitation verknüpfte Lizenz. |
publicationDate |
Das Datum, an dem ein Zitat veröffentlicht wurde. Die gültigen Formate sind YYYY , YYYY-MM und YYYY-MM-DD .
|
avgLogprobs |
Durchschnittliche Log-Wahrscheinlichkeit des Kandidaten. |
logprobsResult |
Gibt die Top-Kandidaten-Tokens (topCandidates ) und die tatsächlich ausgewählten Tokens (chosenCandidates ) bei jedem Schritt zurück. |
token |
Modelle für generative KI zerlegen Textdaten zur Verarbeitung in Tokens, die Zeichen, Wörter oder Wortgruppen sein können. |
logProbability |
Ein Log-Wahrscheinlichkeitswert, der das Konfidenzniveau des Modells für ein bestimmtes Token angibt. |
promptTokenCount |
Anzahl der Tokens in der Anfrage. |
candidatesTokenCount |
Anzahl der Tokens in den Antworten. |
totalTokenCount |
Anzahl der Tokens in der Anfrage und den Antworten. |
Beispiele
Textgenerierung
Generieren Sie eine Textantwort aus einer Texteingabe.
Gen AI SDK für Python
Python (OpenAI)
Sie können die Inference API mithilfe der OpenAI-Bibliothek aufrufen. Weitere Informationen finden Sie unter Vertex AI-Modelle mithilfe der OpenAI-Bibliothek aufrufen.
Go
Multimodale Prompts verwenden
Generieren Sie eine Textantwort aus einer multimodalen Eingabe wie Text und einem Bild.
Gen AI SDK für Python
Python (OpenAI)
Sie können die Inference API mithilfe der OpenAI-Bibliothek aufrufen. Weitere Informationen finden Sie unter Vertex AI-Modelle mithilfe der OpenAI-Bibliothek aufrufen.
Go
Streaming-Textantwort
Streamingmodellantwort aus einer Texteingabe generieren
Gen AI SDK für Python
Python (OpenAI)
Sie können die Inference API mithilfe der OpenAI-Bibliothek aufrufen. Weitere Informationen finden Sie unter Vertex AI-Modelle mithilfe der OpenAI-Bibliothek aufrufen.
Go
Modellversionen
Wenn Sie die automatisch aktualisierte Version verwenden möchten, geben Sie den Modellnamen ohne die nachgestellte Versionsnummer an, z. B. gemini-2.0-flash
anstelle von gemini-2.0-flash-001
.
Weitere Informationen finden Sie unter Modellversionen und Lebenszyklus.
Nächste Schritte
- Weitere Informationen zur Gemini API in Vertex AI
- Weitere Informationen zu Funktionsaufrufen
- Weitere Informationen zum Fundieren von Antworten für Gemini-Modelle