Verwenden Sie die Inference API, um Gemini-Prompts zu generieren.
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.
Weitere Informationen finden Sie hier:
Unterstützte Modelle:
Modell | Version |
---|---|
Gemini 1.5 Flash | gemini-1.5-flash-001 |
Gemini 1.5 Pro, | gemini-1.5-pro-001 |
Gemini 1.0 Pro Vision | gemini-1.0-pro-001 gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | gemini-1.0-pro gemini-1.0-pro-001 gemini-1.0-pro-002 |
Beschränkungen:
Wenn Sie viele Bilder bereitstellen, kann die Latenz hoch sein.
Beispielsyntax
Syntax zum Generieren einer Modellantwort.
Nicht Streaming
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:generateContent \ -d '{ "contents": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) generation_config = GenerationConfig(...) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...})
Streaming
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1/projects/${PROJECT_ID}/locations/${LOCATION}/publishers/google/models/${MODEL_ID}:streamGenerateContent \ -d '{ "contents": [{ ... }], "generation_config": { ... }, "safety_settings": { ... } ... }'
Python
gemini_model = GenerativeModel(MODEL_ID) model_response = gemini_model.generate_content([...], generation_config, safety_settings={...}, stream=True)
Parameterliste
Einzelheiten zur Implementierung finden Sie in den Beispielen.
Anfragetext
Der Anfragetext enthält Daten mit den folgenden Parametern:
Parameter | |
---|---|
|
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: Der Nutzer hat Systemanweisungen für das Modell bereitgestellt. Hinweis: In |
|
Optional. Siehe Function Calling API. |
|
Optional. Siehe Function Calling API. |
|
Optional: Einstellungen nach Anfrage zum Blockieren unsicherer Inhalte Erzwungen am |
|
Optional: Konfigurationseinstellungen für die Generierung. |
Inhalt
Der Basistyp für strukturierte Daten, 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 | |
---|---|
|
Optional: Die Identität der Entität, die die Nachricht erstellt. Folgende Werte werden unterstützt:
Der Wert Bei Unterhaltungen, die nicht mehrere Themen enthalten, kann dieses Feld leer bleiben oder nicht festgelegt werden. |
|
Eine Liste geordneter Teile einer einzelnen Nachricht. Verschiedene Teile haben möglicherweise unterschiedliche IANA-MIME-Typen. |
Part
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. |
|
Optional: In einer Datei gespeicherte Daten. |
|
Optional: Sie enthält einen String, der das Feld Siehe Function Calling API. |
|
Optional: Die Ergebnisausgabe eines Siehe Function Calling API. |
|
Optional: Videometadaten Die Metadaten sollten nur angegeben werden, wenn die Videodaten in |
Blob
Inhalts-Blob Senden Sie ihn möglichst als Text und nicht als Rohbyte.
Parameter | |
---|---|
|
IANA-MIME-Typ der Daten. |
|
Rohbyte. |
FileData
URI-basierte Daten.
Parameter | |
---|---|
mime_type |
IANA-MIME-Typ der Daten. |
file_uri |
String Der Cloud Storage-URI der Datei, in der die Daten gespeichert werden |
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 Function Calling API. |
FunctionResponse
Die resultierende Ausgabe von einem FunctionCall
, der einen String enthält, der FunctionDeclaration.name
darstellt. Enthält außerdem ein strukturiertes JSON-Objekt mit der Ausgabe der Funktion und verwendet es als Kontext für das Modell. Dies sollte das Ergebnis eines FunctionCall
enthalten, der auf der Modellvorhersage basiert.
Parameter | |
---|---|
|
Der Name der aufzurufenden Funktion. |
|
Die Funktionsantwort im JSON-Objektformat. |
VideoMetadata
Metadaten, die den Eingabevideoinhalt beschreiben
Parameter | |
---|---|
|
Optional: Der Startversatz des Videos. |
|
Optional: Endversatz des Videos. |
SafetySetting
Sicherheitseinstellungen.
Parameter | |
---|---|
|
Optional: Die Kategorie des Schadens. |
|
Optional: Der Schwellenwert für die die Schadenssperre |
|
Optional: Die maximale Anzahl einflussreicher Begriffe, die am meisten zu den Sicherheitswerten beitragen. Dies kann zu einer möglichen Blockierung führen. |
|
Optional: Geben Sie an, ob der Schwellenwert für die Wahrscheinlichkeit oder den Schweregrad 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. |
HarmBlockMethod
Ein Wahrscheinlichkeitsschwellenwert, der eine Antwort anhand 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 der Eingabeaufforderung verwendet werden.
Parameter | |
---|---|
|
Optional: Steuert die Zufälligkeit von Vorhersagen. |
|
Optional: Wenn angegeben, wird Nucleus Sampling verwendet. |
|
Optional: Wenn dieser Wert angegeben ist, wird ein Top-K-Sampling verwendet. |
|
Optional: Anzahl der zu generierenden Kandidaten. |
|
Optional: int Die maximale Anzahl von Ausgabetokens, die pro Nachricht generiert werden sollen. |
|
Optional: Stoppsequenzen. |
|
Optional: Positive Strafen. |
|
Optional: Strafen für die Häufigkeit. |
|
Optional: Ausgabeantwort-MIME-Typ des generierten Kandidatentexts. Unterstützter MIME-Typ:
Dies ist eine Funktion in der Vorabversion. |
Beispiele
Nicht-Streaming-Textantwort
Generieren Sie eine Nicht-Streaming-Modellantwort aus einer Texteingabe.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
JSON-Text der Anfrage:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }'
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:generateContent"
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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
Multimodale Nicht-Streaming-Antwort
Generieren Sie eine Nicht-Streaming-Modellantwort aus einer multimodalen Eingabe, z. B. Text und einem Bild.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
- FILE_URI: Der Cloud Storage-URI der Datei, in der die Daten gespeichert werden
- MIME_TYPE: Der TIANA-MIME-Typ der Daten.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:generateContent
JSON-Text der Anfrage:
{ "contents": [{ "role": "user", "parts": [ { "text": "TEXT" }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} }, { "file_data": {"file_uri": "FILE_URI", "MIME_TYPE"} } ] }] }
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:generateContent"
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:generateContent" | Select-Object -Expand Content
Python
NodeJS
Java
Go
C#
Streaming-Textantwort
Generieren Sie eine Antwort eines Streamingmodells aus einer Texteingabe.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
JSON-Text der Anfrage:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }'
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:streamGenerateContent"
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:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Multimodale Streamingantworten
Generieren Sie eine Streamingmodellantwort aus einer multimodalen Eingabe wie Text und einem Bild.
REST
Ersetzen Sie dabei folgende Werte für die Anfragedaten:
- PROJECT_ID: Ihre Projekt-ID.
- LOCATION: Die Region, in der die Anfrage verarbeitet werden soll.
- TEXT: Die Textanleitung, die in den Prompt eingefügt werden soll.
HTTP-Methode und URL:
POST https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/publishers/google/models/MODEL_ID:streamGenerateContent
JSON-Text der Anfrage:
{ "contents": [{ "role": "user", "parts": [{ "text": "TEXT" }] }] }'
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:streamGenerateContent"
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:streamGenerateContent" | Select-Object -Expand Content
Python
NodeJS
Nächste Schritte
- Weitere Informationen zur Gemini API
- Weitere Informationen zu Funktionsaufrufen
- Weitere Informationen zu Fundierungsantworten für Gemini-Modelle