Auf dieser Seite wird beschrieben, wie Sie Code, der für das OpenAI SDK entwickelt wurde, zum Google Gen AI SDK migrieren, um Gemini-Modelle in Vertex AI zu verwenden.
Übersicht zur Migration
Das folgende Notebook veranschaulicht eine praktische Migration von der openai-Bibliothek zur google-genai-Bibliothek:
API- und Syntaxzuordnung
In der folgenden Tabelle werden die Kernkomponenten, Methoden und Parameter des OpenAI SDK mit dem Gen AI SDK verglichen.
| Funktion | OpenAI SDK (openai) |
Gen AI SDK (google-genai) |
|---|---|---|
| Client-Initialisierung | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| Generierungsmethode | client.chat.completions.create |
client.models.generate_content |
| Streamingmethode | stream=True (Parameter) |
client.models.generate_content_stream (Methode) |
| Nutzereingabe | messages=[{"role": "user", "content": "..."}] |
contents="..." (str) oder contents=[...] (list) |
| Systemanweisungen | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Zugriff auf Antworten | response.choices[0].message.content |
response.text |
| Chatprotokoll | Manuelle Listenverwaltung (messages.append) |
client.chats.create() (zustandsorientiertes Objekt) |
| Maximale Anzahl an Tokens | max_tokens |
max_output_tokens (in config) |
| Temperatur | temperature |
temperature (in config) |
| JSON-Modus | response_format={"type": "json_object"} |
response_mime_type="application/json" (in config) |
Installation und Einrichtung
Deinstallieren Sie die OpenAI-Bibliothek und installieren Sie das Gen AI SDK.
pip install google-genai
2. Authentifizierung und Initialisierung
Während OpenAI einen API-Schlüssel verwendet, nutzt Vertex AI IAM-Anmeldedaten (Standardanmeldedaten für Anwendungen). Sie müssen Ihre Projekt-ID und Ihren Standort explizit angeben.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Legen Sie GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_CLOUD_PROJECT und GOOGLE_CLOUD_LOCATION wie gezeigt fest:
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
Nach der Konfiguration können Sie den Client initialisieren, ohne Parameter zu übergeben:
from google import genai
client = genai.Client()
Codebeispiele
Die folgenden Codebeispiele zeigen die Unterschiede zwischen dem OpenAI SDK und dem Google Gen AI SDK für gängige Aufgaben.
Textgenerierung in einem Schritt
Die folgenden Codebeispiele zeigen, wie Sie Text generieren. Im Google Gen AI SDK werden Systemanweisungen als Konfigurationsparameter und nicht als Nachrichtenrolle in der Eingabeliste behandelt.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Textgenerierung mit Parametern
Die folgenden Codebeispiele zeigen die Unterschiede beim Definieren von Konfigurationsparametern. Im Google Gen AI SDK werden Parameter wie temperature, max_output_tokens (früher max_tokens) und die JSON-Formatierung in einem GenerateContentConfig-Objekt gruppiert.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Chat (wechselseitig)
Die folgenden Codebeispiele zeigen die Unterschiede bei der Verwaltung des Chathistorie. Das Google Gen AI SDK vereinfacht dies, da es ein statusbehaftetes chat-Objekt bereitstellt. Bei OpenAI müssen Nachrichten manuell an eine Liste angehängt werden.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Streaming
Die folgenden Codebeispiele zeigen die Unterschiede bei Streaming-Antworten. Das Google Gen AI SDK verwendet eine bestimmte Methode (generate_content_stream) anstelle eines booleschen Flags.
| OpenAI SDK | Google Gen AI SDK |
|---|---|
|
|
Nächste Schritte
- OpenAI-Bibliotheken mit Vertex AI verwenden
- Codebeispiele für die OpenAI-Kompatibilität
- Schnellstart für das Google Gen AI SDK