In diesem Dokument wird beschrieben, wie Sie mit der OpenAI-kompatiblen Chat Completions API mit Vertex AI-Modellen interagieren. In diesem Dokument werden folgende Themen behandelt:
- Unterstützte Modelle:Hier erfahren Sie, welche Gemini- und selbst bereitgestellten Model Garden-Modelle mit der API kompatibel sind.
- Unterstützte Parameter:Sehen Sie sich die Liste der standardmäßigen OpenAI-Parameter an, die Sie verwenden können.
- Multimodale Eingabeparameter:Hier erfahren Sie, wie Sie multimodale Eingaben wie Audio und Bilder verwenden.
- Gemini-spezifische Parameter:Hier erfahren Sie, wie Sie Gemini-spezifische Funktionen über die Felder
extra_body
undextra_part
verwenden.
Die Chat Completions API ist ein OpenAI-kompatibler Endpunkt, mit dem Sie die Python- und REST-Bibliotheken von OpenAI verwenden können, um mit Gemini in Vertex AI zu interagieren. Wenn Sie bereits die OpenAI-Bibliotheken verwenden, können Sie mit dieser API zwischen OpenAI-Modellen und in Vertex AI gehosteten Modellen wechseln, um Ausgabe, Kosten und Skalierbarkeit zu vergleichen, ohne den vorhandenen Code ändern zu müssen. Wenn Sie die OpenAI-Bibliotheken nicht verwenden, empfehlen wir die Verwendung des Google Gen AI SDK.
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 Chat Completions API unterstützt die folgenden Gemini-Modelle:
Selbst bereitgestellte Modelle aus Model Garden
Die Hugging Face Text Generation Interface (HF TGI)- und vordefinierten vLLM-Container von Vertex AI Model Garden unterstützen die Chat Completions API. Allerdings wird die Chat Completions API nicht von allen Modellen unterstützt, die in diesen Containern bereitgestellt werden. 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 Creating chat completions. Die Parameterunterstützung für Drittanbietermodelle variiert je nach Modell. Welche Parameter unterstützt werden, können Sie in der Dokumentation des Modells nachlesen.
messages |
|
model |
|
max_completion_tokens |
Alias für max_tokens . |
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
reasoning_effort |
Konfiguriert, wie viel Zeit und wie viele Tokens für eine Antwort verwendet werden.
reasoning_effort oder extra_body.google.thinking_config angegeben werden.
|
response_format |
|
seed |
Entspricht GenerationConfig.seed . |
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
web_search_options |
Entspricht dem GoogleSearch -Tool. 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 |
|
image_url |
|
Im Allgemeinen kann der Parameter data
ein URI oder eine Kombination aus MIME-Typ und base64-codierten Byte in der Form "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 von OpenAI.
Informationen zur Verwendung finden Sie in unseren Beispielen für multimodale Eingaben.
Gemini-spezifische Parameter
Wenn Sie Funktionen verwenden möchten, die von Gemini, aber nicht von OpenAI-Modellen unterstützt werden, übergeben Sie sie als Parameter in einem extra_content
- oder extra_body
-Feld. Wenn Sie diese Funktionen außerhalb dieser Felder übergeben, werden sie ignoriert.
extra_body
Features
Wenn Sie Gemini-spezifische extra_body
-Funktionen verwenden möchten, fügen Sie sie in ein google
-Feld ein.
{
...,
"extra_body": {
"google": {
...,
// Add extra_body features here.
}
}
}
safety_settings |
Dies entspricht SafetySetting von Gemini. |
cached_content |
Dies entspricht GenerateContentRequest.cached_content von Gemini. |
thinking_config |
Dies entspricht GenerationConfig.ThinkingConfig von Gemini. |
thought_tag_marker |
Wird verwendet, um die Überlegungen eines Modells von seinen Antworten zu trennen. Nur für Modelle mit der Funktion „Thinking“ verfügbar. Wenn nicht angegeben, werden keine Tags für die Überlegungen des Modells zurückgegeben. Falls vorhanden, werden bei nachfolgenden Anfragen die Gedanken-Tags entfernt und die Gedanken entsprechend für den Kontext markiert. So bleibt der richtige Kontext für nachfolgende Anfragen erhalten. |
extra_part
Features
Mit dem Feld extra_part
können Sie zusätzliche Einstellungen für jede Part
angeben. Wenn Sie Gemini-spezifische extra_part
-Funktionen verwenden möchten, fügen Sie sie in ein google
-Feld ein.
{
...,
"extra_part": {
"google": {
...,
// Add extra_part features here.
}
}
}
extra_content |
Ein Feld zum Hinzufügen von Gemini-spezifischen Inhalten, die nicht ignoriert werden sollten. |
thought |
Damit wird explizit angegeben, ob ein Feld ein Gedanke ist. Diese Angabe hat Vorrang vor thought_tag_marker . Sie sollte verwendet werden, um anzugeben, ob ein Tool-Aufruf Teil eines Gedankens ist oder nicht. |
Nächste Schritte
- Weitere Informationen zur Authentifizierung und zu Anmeldedaten mit der OpenAI-kompatiblen Syntax
- Hier finden Sie Beispiele für das Aufrufen der Chat Completions API mit der OpenAI-kompatiblen Syntax.
- Hier finden Sie Beispiele für das Aufrufen der Inference API mit der OpenAI-kompatiblen Syntax.
- Hier finden Sie Beispiele für das Aufrufen der Function Calling API mit OpenAI-kompatibler Syntax.
- Weitere Informationen zur Gemini API
- Weitere Informationen zur Migration von Azure OpenAI zur Gemini API