OpenAI-Bibliotheken mit der Gemini Enterprise Agent Platform verwenden

Die Chat Completions API funktioniert als Open AI-kompatibler Endpunkt, der die Interaktion mit Gemini auf der Gemini Enterprise Agent Platform mithilfe der OpenAI-Bibliotheken für Python und REST vereinfachen soll. 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 die OpenAI-Bibliotheken noch nicht verwenden, empfehlen wir das Google Gen AI SDK. Informationen zum Migrieren Ihres vorhandenen OpenAI SDK-Codes zur Verwendung des Google Gen AI SDK finden Sie unter Von OpenAI SDK zu 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 Sie, um die unterstützten Modelle zu maximieren.

Selbst bereitgestellte Modelle aus Model Garden

Die vorgefertigten vLLM-Container von Hugging Face Text Generation Interface (HF TGI) und Agent Platform Model Garden unterstützen die Chat Completions API. 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 unter Chat-Vervollständigungen erstellen. Die Parameterunterstützung für Modelle von Drittanbietern variiert je nach Modell. Welche Parameter unterstützt werden, erfahren Sie in der Dokumentation des jeweiligen Modells.

messages
  • System message
  • User message: Die text und image_url Typen werden unterstützt. Der image_url Typ 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 für alle Nachrichten und Inhalte gleich sein (es gilt auf Anfrageebene). Bei Gemini 3 und höher entspricht dies einer `media_resolution` auf Teilebene. Weitere Informationen finden Sie unter Media Resolution.
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 in der Antwort keine Gedanken enthalten sind, kann nur 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 mit der OpenAPI-Spezifikation an. Dies unterscheidet sich vom Feld für OpenAI-Parameter, das als JSON-Schemaobjekt beschrieben wird. Informationen zu den Unterschieden bei den Keywords 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ärts kompatibilitä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.

Parameter für multimodale Eingaben

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 Bilder, 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 jeder URI oder jedes gültige Blob Format unterstützt.
    Beachten Sie, dass image_url als URL standardmäßig auf den MIME-Typ „image/*“ gesetzt wird und image_url als Blob-Daten als beliebige multimodale Eingabe verwendet werden kann.
  • detail: Ähnlich wie bei der Media Resolution bestimmt dies die maximale Anzahl von Tokens pro Bild für die Anfrage. Während das Feld von OpenAI pro Bild gilt, erzwingt Gemini dieselbe Detailgenauigkeit für die gesamte Anfrage. Wenn Sie mehrere Detailtypen in einer Anfrage übergeben, wird ein Fehler ausgegeben.

Im Allgemeinen kann der data Parameter ein URI oder eine Kombination aus MIME-Typ und Base64-codierten Bytes 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 Dokumentation.

Beispiele für die Verwendung finden Sie unter Beispiele 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 Funktionen können weiterhin als Parameter übergeben werden, müssen aber in extra_content oder extra_body enthalten sein, da sie sonst ignoriert werden.

extra_body-Funktionen

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

{
  ...,
  "extra_body": {
     "google": {
       ...,
       // Add extra_body features here.
     }
   }
}
safety_settings Entspricht der Gemini SafetySetting.
cached_content Entspricht dem Gemini generateContent.cached_content Feld.
thinking_config Entspricht der Gemini GenerationConfig.ThinkingConfig.
thought_tag_marker Wird verwendet, um die Gedanken eines Modells von seinen Antworten zu trennen, wenn die Funktion „Thinking“ verfügbar ist.
Wenn nicht angegeben, werden keine Tags um die Gedanken des Modells zurückgegeben. Wenn vorhanden, werden bei nachfolgenden Abfragen die Gedanken-Tags entfernt und die Gedanken entsprechend für den Kontext markiert. So bleibt der richtige Kontext für nachfolgende Abfragen erhalten.
stream_function_call_arguments Streamt Funktionsaufrufargumente als Segmente von JSON zurück. Weitere Informationen finden Sie unter Funktionsaufrufargumente streamen.
tools Geben Sie Tools ähnlich wie bei `GenerateContent` an. Weitere Informationen finden Sie unter Tool.
media_resolution Geben Sie eine Media Resolution auf Anfrageebene ähnlich wie bei `GenerateContent` an. Weitere Informationen finden Sie unter MediaResolution.

extra_content-Funktionen

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

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

{
  ...,
  "extra_content": {
     "google": {
       ...,
       // Add extra_content features here.
     }
   }
}
thought Dieses Feld markiert explizit, ob ein Feld ein Gedanke ist, und hat Vorrang vor thought_tag_marker. Es hilft, zwischen verschiedenen Schritten in einem Denkprozess zu unterscheiden, insbesondere in Szenarien mit Toolnutzung, in denen Zwischenschritte mit endgültigen Antworten verwechselt werden können. Wenn Sie bestimmte Teile der Eingabe als Gedanken taggen, können Sie das Modell anweisen, sie als interne Überlegungen und nicht als Antworten für Nutzer zu behandeln.
thought_signature Ein Bytefeld, das eine Gedankensignatur enthält, die mit den vom Modell zurückgegebenen Gedanken verglichen werden kann. Dieses Feld unterscheidet sich von thought, das ein boolesches Feld ist. Weitere Informationen finden Sie unter Gedankensignaturen.
parts Spezifisch für eine Tool-Nachricht, um multimodale Funktionsantwortteile an das Modell zurückzugeben. Weitere Informationen finden Sie unter FunctionResponsePart und Multimodale Funktionsantwort.

Nächste Schritte