Mit der Chat Completions API können Sie Anfragen an Vertex AI-Modelle mithilfe der OpenAI-Bibliotheken für Python und REST senden. Wenn Sie bereits die OpenAI-Bibliotheken verwenden, können Sie mit dieser API 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 die Gemini API direkt aufrufen.
Unterstützte Modelle
Die Chat Completions API unterstützt sowohl Gemini-Modelle als auch ausgewählte selbst bereitgestellte Modelle aus Model Garden.
Gemini-Modelle
In der folgenden Tabelle sind die unterstützten Gemini-Modelle aufgeführt:
Modell | Version |
---|---|
Gemini 2.0 Flash | google/gemini-2.0-flash |
Gemini 1.5 Flash | google/gemini-1.5-flash |
Gemini 1.5 Pro, | google/gemini-1.5-pro |
Gemini 1.0 Pro Vision | google/gemini-1.0-pro-vision google/gemini-1.0-pro-vision-001 |
Gemini 1.0 Pro | google/gemini-1.0-pro-002 google/gemini-1.0-pro-001 google/gemini-1.0-pro |
Eigenständig 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 |
---|---|
Authentifizieren
Wenn Sie die OpenAI-Python-Bibliotheken verwenden möchten, installieren Sie das OpenAI SDK:
pip install openai
Für die Authentifizierung bei der Chat Completions API haben Sie folgende Möglichkeiten: Sie können entweder die Client-Einrichtung ändern oder die Umgebungskonfiguration ändern, um die Google-Authentifizierung und einen Vertex AI-Endpunkt zu verwenden. Wählen Sie die für Sie einfachere Methode aus und folgen Sie der Anleitung für die Einrichtung, je nachdem, ob Sie Gemini-Modelle oder selbst bereitgestellte Model Garden-Modelle aufrufen möchten.
Bestimmte Modelle in Model Garden und unterstützte Hugging Face-Modelle müssen zuerst auf einem Vertex AI-Endpunkt bereitgestellt werden, bevor sie Anfragen verarbeiten können.
Wenn Sie diese selbst bereitgestellten Modelle über die Chat Completions API aufrufen, müssen Sie die Endpunkt-ID angeben. Verwenden Sie den Befehl gcloud ai endpoints list
, um Ihre vorhandenen Vertex AI-Endpunkte aufzulisten.
Client-Setup
Um Google-Anmeldedaten programmatisch in Python abzurufen, können Sie das google-auth
Python SDK verwenden:
pip install google-auth requests
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Standardmäßig sind Zugriffstokens eine Stunde lang gültig. Sie können die Lebensdauer des Zugriffstokens verlängern
oder das Token regelmäßig aktualisieren und die Variable openai.api_key
updaten.
Umgebungsvariablen
Installieren Sie die Google Cloud CLI. Die OpenAI-Bibliothek kann die Umgebungsvariablen OPENAI_API_KEY
und OPENAI_BASE_URL
lesen, um die Authentifizierung und den Endpunkt im Standardclient zu ändern.
Legen Sie die folgenden Variablen fest:
$ export PROJECT_ID=PROJECT_ID
$ export LOCATION=LOCATION
$ export OPENAI_API_KEY="$(gcloud auth application-default print-access-token)"
Wenn Sie ein Gemini-Modell aufrufen möchten, legen Sie die Variable MODEL_ID
fest und verwenden Sie den Endpunkt openapi
:
$ export MODEL_ID=MODEL_ID
$ export OPENAI_BASE_URL="https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi"
Wenn Sie ein selbst bereitgestelltes Modell aus Model Garden aufrufen möchten, legen Sie die Variable ENDPOINT
fest und verwenden Sie diese stattdessen in Ihrer URL:
$ export ENDPOINT=ENDPOINT_ID
$ export OPENAI_BASE_URL="https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/${ENDPOINT}"
Initialisieren Sie als Nächstes den Client:
client = openai.OpenAI()
Die Gemini Chat Completions API verwendet OAuth zur Authentifizierung
mit einem kurzlebigen Zugriffstoken.
Standardmäßig sind Zugriffstokens eine Stunde lang gültig. Sie können die Lebensdauer des Zugriffstokens verlängern oder das Token regelmäßig aktualisieren und die Umgebungsvariable OPENAI_API_KEY
updaten.
Gemini mit der Chat Completions API aufrufen
Im folgenden Beispiel wird gezeigt, wie Nicht-Streaming Anfragen gesendet werden:
curl
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi/chat/completions \ -d '{ "model": "google/${MODEL_ID}", "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird gezeigt, wie Sie mit der Chat Completions API Streaminganfragen an ein Gemini-Modell senden:
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://${LOCATION}-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/${LOCATION}/endpoints/openapi/chat/completions \ -d '{ "model": "google/${MODEL_ID}", "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Ein selbst bereitgestelltes Modell mit der Chat Completions API aufrufen
Im folgenden Beispiel wird gezeigt, wie Nicht-Streaming Anfragen gesendet werden:
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/us-central1/endpoints/${ENDPOINT}/chat/completions \ -d '{ "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Im folgenden Beispiel wird gezeigt, wie Sie mit der Chat Completions API Streaminganfragen an ein selbst bereitgestelltes Modell senden:
REST
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ https://us-central1-aiplatform.googleapis.com/v1beta1/projects/${PROJECT_ID}/locations/us-central1/endpoints/${ENDPOINT}/chat/completions \ -d '{ "stream": true, "messages": [{ "role": "user", "content": "Write a story about a magic backpack." }] }'
Python
Bevor Sie dieses Beispiel anwenden, folgen Sie den Python-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Python API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
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 |
|
model |
|
max_tokens |
|
n |
|
frequency_penalty |
|
presence_penalty |
|
response_format |
|
stop |
|
stream |
|
temperature |
|
top_p |
|
tools |
|
tool_choice |
|
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.
Anmeldedaten aktualisieren
Im folgenden Beispiel wird gezeigt, wie Sie Ihre Anmeldedaten bei Bedarf automatisch aktualisieren:
Python
Nächste Schritte
- 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