OpenAI-Bibliotheken mit der Gemini Enterprise Agent Platform verwenden

Die Chat Completions API ist ein OpenAI-kompatibler Endpunkt, der die Interaktion mit Gemini auf der Gemini Enterprise Agent Platform mithilfe der OpenAI-Bibliotheken für Python und REST vereinfacht. Wenn Sie bereits die OpenAI-Bibliotheken verwenden, können Sie mit dieser API kostengünstig zwischen dem Aufrufen von OpenAI-Modellen und auf der Agent Platform gehosteten Modellen wechseln, um Ausgabe, Kosten und Skalierbarkeit zu vergleichen, ohne den vorhandenen Code ändern zu müssen. Wenn Sie noch keine OpenAI-Bibliotheken nutzen, sollten Sie das Google Gen AI SDK verwenden. Informationen zum Migrieren Ihres vorhandenen OpenAI SDK-Codes zum Google Gen AI SDK finden Sie unter Vom OpenAI SDK zum Google Gen AI SDK migrieren.

Unterstützte Modelle

Die Chat Completions API unterstützt sowohl Gemini-Modelle als auch ausgewählte selbst bereitgestellte Modelle aus Model Garden.

Gemini-Modelle

Die folgenden Modelle unterstützen die Chat Completions API:

Klicken, um unterstützte Modelle einzublenden

Selbst bereitgestellte Modelle aus Model Garden

Die Chat Completions API wird von den Containern Hugging Face Text Generation Interface (HF TGI) und Agent Platform Model Garden prebuilt vLLM unterstützt. Allerdings unterstützt nicht jedes Modell, das in diesen Containern bereitgestellt wird, die Chat Completions API. Die folgende Tabelle enthält die beliebtesten unterstützten Modelle nach Container:

HF TGI

vLLM

Unterstützte Parameter

Für Google-Modelle unterstützt die Chat Completions API die folgenden OpenAI-Parameter. Eine Beschreibung der einzelnen Parameter finden Sie in der OpenAI-Dokumentation zum Erstellen von Chat-Vervollständigungen. Die Parameterunterstützung für Drittanbietermodelle variiert je nach Modell. Welche Parameter unterstützt werden, erfahren Sie in der Dokumentation des Modells.

messages
  • System message
  • User message: Die Typen text und image_url werden unterstützt. Der Typ image_url unterstützt Bilder, die in einem Cloud Storage-URI oder einer Base64-Codierung im Format "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>" gespeichert sind. Informationen dazu, wie Sie einen Cloud Storage-Bucket erstellen und eine Datei darin hochladen, finden Sie unter Objektspeicher entdecken
  • Assistant message
  • Tool message
  • Function message: dieses Feld ist veraltet, wird aber für Abwärtskompatibilität unterstützt.
model
detail Bei Modellen, die älter als Gemini 3 sind, muss das Feld detail in allen Nachrichten und Inhalten einheitlich sein (es gilt auf Anfrageebene). Ab Gemini 3 entspricht dies einer `media_resolution` auf Teilebene. Weitere Informationen finden Sie unter Medienauflösung.
max_completion_tokens Alias für max_tokens.
modalities Unterstützt audio, image und text.
max_tokens
n
frequency_penalty
presence_penalty
reasoning_effort Konfiguriert, wie viel Zeit und wie viele Tokens für eine Antwort verwendet werden.
  • low: 1024
  • medium: 8192
  • high: 24576
Da die Antwort keine Gedanken enthält, darf nur entweder reasoning_effort oder extra_body.google.thinking_config angegeben werden.
response_format
  • json_object: Wird als Übergabe von „application/json“ an die Gemini API interpretiert.
  • json_schema. Vollständig rekursive Schemas werden nicht unterstützt. additional_properties wird unterstützt.
  • text: Wird als Übergabe von „text/plain“ an die Gemini API interpretiert.
  • Jeder andere MIME-Typ wird unverändert an das Modell übergeben, z. B. die direkte Übergabe von „application/json“.
seed Entspricht GenerationConfig.seed.
stop
stream
temperature
top_p
tools
  • type
  • function
    • name
    • description
    • parameters: Geben Sie Parameter mithilfe der OpenAPI-Spezifikation an. Dies unterscheidet sich vom OpenAI-Parameterfeld, das als JSON-Schemaobjekt beschrieben wird. Informationen zu den Unterschieden bei den Schlüsselwörtern zwischen OpenAPI und JSON-Schema finden Sie im OpenAPI-Leitfaden.
tool_choice
  • none
  • auto
  • required: Entspricht dem Modus ANY in der FunctionCallingConfig.
  • validated: Entspricht dem Modus VALIDATED in der FunctionCallingConfig. Dies ist Google-spezifisch.
web_search_options Entspricht dem Tool GoogleSearch. Unteroptionen werden nicht unterstützt.
function_call Dieses Feld ist veraltet, wird aber für Abwärtskompatibilität unterstützt.
functions Dieses Feld ist veraltet, wird aber für Abwärtskompatibilität unterstützt.

Wenn Sie einen nicht unterstützten Parameter übergeben, wird er ignoriert.

Multimodale Eingabeparameter

Die Chat Completions API unterstützt ausgewählte multimodale Eingaben.

input_audio
  • data:: Beliebiger URI oder gültiges Blob-Format. Wir unterstützen alle Blob-Typen, einschließlich Bild, Audio und Video. Alles, was von GenerateContent unterstützt wird, wird unterstützt (HTTP, Cloud Storage usw.).
  • format: OpenAI unterstützt sowohl wav (audio/wav) als auch mp3 (audio/mp3). Bei Gemini werden alle gültigen MIME-Typen unterstützt.
image_url
  • data: Wie bei input_audio wird jedes URI- oder gültige Blob-Format unterstützt.
    Beachten Sie, dass image_url als URL standardmäßig den MIME-Typ „image/*“ hat und image_url als Blob-Daten als beliebige multimodale Eingabe verwendet werden kann.
  • detail: Ähnlich wie die Medienauflösung bestimmt dies die maximale Anzahl von Tokens pro Bild für die Anfrage. Beachten Sie, dass das Feld von OpenAI pro Bild gilt, Gemini jedoch für die gesamte Anfrage denselben Detailgrad erzwingt. Wenn Sie mehrere Detailtypen in einer Anfrage übergeben, wird ein Fehler ausgegeben.

Im Allgemeinen kann der Parameter data ein URI oder eine Kombination aus MIME-Typ und base64-codierten Byte im Format "data:<MIME-TYPE>;base64,<BASE64-ENCODED-BYTES>" sein. Eine vollständige Liste der MIME-Typen finden Sie unter GenerateContent. Weitere Informationen zur Base64-Codierung von OpenAI finden Sie in der entsprechenden Dokumentation.

Informationen zur Verwendung finden Sie in unseren Beispielen für multimodale Eingaben.

Gemini-spezifische Parameter

Es gibt mehrere Funktionen, die von Gemini unterstützt werden, aber in OpenAI-Modellen nicht verfügbar sind. Diese Features können weiterhin als Parameter übergeben werden, müssen aber in einem extra_content oder extra_body enthalten sein, da sie sonst ignoriert werden.

extra_body Features

Fügen Sie ein google-Feld ein, das alle Gemini-spezifischen extra_body-Funktionen enthält.

{
  ...,
  "extra_body": {
     "google": {
       ...,
       // Add extra_body features here.
     }
   }
}
safety_settings Dies entspricht dem Gemini-SafetySetting.
cached_content Dies entspricht dem Gemini-Feld generateContent.cached_content.
thinking_config Dies entspricht dem Gemini-GenerationConfig.ThinkingConfig.
thought_tag_marker Wird verwendet, um die Gedanken eines Modells von seinen Antworten zu trennen, wenn das Modell den Thinking-Modus unterstützt.
Wenn nicht angegeben, werden keine Tags um die Gedanken des Modells zurückgegeben. Wenn vorhanden, werden die Thought-Tags bei nachfolgenden Abfragen entfernt und die Gedanken entsprechend für den Kontext markiert. So bleibt der entsprechende Kontext für nachfolgende Abfragen erhalten.
stream_function_call_arguments Gibt Argumente für Funktionsaufrufe als JSON-Segmente zurück. Weitere Informationen finden Sie unter Argumente für Streaming-Funktionsaufrufe.
tools Geben Sie Tools an, die `GenerateContent` ähneln. Weitere Informationen finden Sie unter Tool.
media_resolution Geben Sie eine Medienauflösung auf Anfrageebene an, ähnlich wie bei `GenerateContent`. Weitere Informationen finden Sie unter MediaResolution.

extra_content Features

Mit extra_content können Sie Gemini-spezifische Inhalte angeben, die nicht ignoriert werden sollen.

Fügen Sie ein google-Feld ein, das alle Gemini-spezifischen extra_content-Funktionen enthält.

{
  ...,
  "extra_content": {
     "google": {
       ...,
       // Add extra_content features here.
     }
   }
}
thought In diesem Feld wird explizit angegeben, ob ein Feld ein Gedanke ist. Es hat Vorrang vor thought_tag_marker. Es hilft, zwischen verschiedenen Schritten in einem Denkprozess zu unterscheiden, insbesondere in Szenarien, in denen Tools verwendet werden und Zwischenschritte fälschlicherweise als endgültige Antworten interpretiert werden könnten. Wenn Sie bestimmte Teile der Eingabe als Gedanken taggen, können Sie das Modell anweisen, sie als interne Überlegungen und nicht als für Nutzer sichtbare Antworten zu behandeln.
thought_signature Ein Bytefeld, das eine Gedankensignatur bereitstellt, die mit den vom Modell zurückgegebenen Gedanken abgeglichen werden kann. Dieses Feld unterscheidet sich von thought, einem booleschen Feld. Weitere Informationen finden Sie unter Thought-Signaturen.
parts Spezifisch für eine Toolnachricht, um multimodale Funktionsantwortteile an das Modell zurückzugeben. Weitere Informationen finden Sie unter FunctionResponsePart und Multimodale Funktionsantwort.

Nächste Schritte