OpenAI-Bibliotheken mit Vertex AI verwenden

Die Chat Completions API dient als Open AI-kompatibler Endpunkt. Sie soll die Interaktion mit Gemini in Vertex AI erleichtern, indem die Open AI-Bibliotheken für Python und REST verwendet werden. Wenn Sie bereits die OpenAI-Bibliotheken verwenden, können Sie mit dieser API kostengünstig zwischen dem Aufrufen von OpenAI-Modellen und von Vertex AI 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.

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:

Selbst bereitgestellte Modelle aus Model Garden

Die Hugging Face Text Generation Interface (HF TGI) und die vordefinierten vLLM-Container von Vertex AI Model Garden unterstützen die Chat Completions API. Allerdings unterstützt nicht jedes in diesen Containern bereitgestellte Modell 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-Ergänzungen. 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 als Cloud Storage-URI oder 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 Die Option detail wird nicht unterstützt.
  • Assistant message
  • Tool message
  • Function message: dieses Feld ist veraltet, wird aber für Abwärtskompatibilität unterstützt.
model
max_tokens
n
frequency_penalty
presence_penalty
response_format
  • json_object: Wird als Übergabe von „application/json“ an die Gemini API interpretiert.
  • 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“.
stop
stream
temperature
top_p
tools
  • type
  • function
    • name
    • description
    • parameters: Parameter mithilfe der OpenAPI-Spezifikation angeben Das unterscheidet sich vom OpenAI-Parameterfeld, das als JSON-Schemaobjekt beschrieben wird. Informationen zu den Unterschieden zwischen OpenAPI und JSON-Schema finden Sie im OpenAPI-Leitfaden.
tool_choice
  • none
  • auto
  • required: Entspricht dem Modus ANY in der FunctionCallingConfig.
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.

Nicht unterstützte Parameter werden ignoriert.

Parameter für die multimodale Eingabe

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 Videodateien. Alles, was von GenerateContent unterstützt wird, ist zulässig (HTTP, Cloud Storage usw.).
  • format: OpenAI unterstützt sowohl wav (Audio/WAV) als auch mp3 (Audio/MP3). Mit 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.
    Hinweis: Wenn image_url als URL verwendet wird, wird standardmäßig der MIME-Typ „image/*“ verwendet. image_url als Blob-Daten kann als beliebige multimodale Eingabe verwendet werden.
  • detail: Ähnlich wie bei der Medienauflösung wird damit die maximale Anzahl von Tokens pro Bild für die Anfrage festgelegt. Das Feld von OpenAI ist zwar pro Bild, in Gemini wird jedoch dasselbe Detail für die gesamte Anfrage erzwungen. 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 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.

Weitere 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 nicht in OpenAI-Modellen verfügbar sind. Diese Funktionen 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

safety_settings Dies entspricht SafetySetting in Gemini.
cached_content Dies entspricht GenerateContentRequest.cached_content in Gemini.
thought_tag_marker Wird verwendet, um die Gedanken eines Modells von seinen Antworten zu trennen, wenn für das Modell das Denken aktiviert ist.
Wenn nicht angegeben, werden keine Tags für die Gedanken des Modells zurückgegeben. Falls vorhanden, werden bei nachfolgenden Abfragen die Gedanken-Tags entfernt und die Gedanken entsprechend dem Kontext gekennzeichnet. So bleibt der richtige Kontext für nachfolgende Abfragen erhalten.

Nächste Schritte