Cette page explique comment migrer le code conçu pour le SDK OpenAI vers le SDK Google Gen AI afin d'utiliser les modèles Gemini sur Vertex AI.
Présentation de la migration
Le notebook suivant illustre une migration pratique de la bibliothèque openai vers la bibliothèque google-genai :
Mappage des API et de la syntaxe
Le tableau suivant compare les composants, méthodes et paramètres principaux du SDK OpenAI avec ceux du SDK Gen AI.
| Fonctionnalité | SDK OpenAI (openai) |
SDK Gen AI (google-genai) |
|---|---|---|
| Initialisation du client | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| Méthode de génération | client.chat.completions.create |
client.models.generate_content |
| Méthode de streaming | stream=True (paramètre) |
client.models.generate_content_stream (méthode) |
| Entrée utilisateur | messages=[{"role": "user", "content": "..."}] |
contents="..." (str) ou contents=[...] (liste) |
| Instructions système | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Accès aux réponses | response.choices[0].message.content |
response.text |
| Historique des chats | Gestion manuelle des listes (messages.append) |
client.chats.create() (Objet avec état) |
| Nombre maximal de jetons | max_tokens |
max_output_tokens (dans config) |
| Température | temperature |
temperature (dans config) |
| Mode JSON | response_format={"type": "json_object"} |
response_mime_type="application/json" (dans config) |
Installation et configuration
Désinstallez la bibliothèque OpenAI et installez le SDK Gen AI.
pip install google-genai
2. Authentification et initialisation
Alors qu'OpenAI utilise une clé API, Vertex AI utilise des identifiants Identity and Access Management (IAM) (Identifiants par défaut de l'application). Vous devez définir explicitement l'ID et l'emplacement de votre projet.
| SDK OpenAI | SDK Google Gen AI |
|---|---|
|
|
Définissez GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_CLOUD_PROJECT et GOOGLE_CLOUD_LOCATION, comme indiqué :
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
Une fois configuré, vous pouvez initialiser le client sans transmettre de paramètres :
from google import genai
client = genai.Client()
Exemples de code
Les exemples de code suivants montrent les différences entre le SDK OpenAI et le SDK Google Gen AI pour les tâches courantes.
Génération de texte en un seul tour
Les exemples de code suivants montrent comment générer du texte. Notez que dans le SDK Google Gen AI, les instructions système sont traitées comme un paramètre de configuration plutôt que comme un rôle de message dans la liste d'entrée.
| SDK OpenAI | SDK Google Gen AI |
|---|---|
|
|
Génération de texte avec des paramètres
Les exemples de code suivants montrent les différences dans la définition des paramètres de configuration. Dans le SDK Google Gen AI, les paramètres tels que temperature, max_output_tokens (anciennement max_tokens) et la mise en forme JSON sont regroupés dans un objet GenerateContentConfig.
| SDK OpenAI | SDK Google Gen AI |
|---|---|
|
|
Chat (multitour)
Les exemples de code suivants montrent les différences dans la gestion de l'historique des discussions. Le SDK Google Gen AI simplifie cette opération en fournissant un objet chat avec état, tandis qu'OpenAI exige d'ajouter manuellement des messages à une liste.
| SDK OpenAI | SDK Google Gen AI |
|---|---|
|
|
Streaming
Les exemples de code suivants montrent les différences dans les réponses de streaming. Le SDK Google Gen AI utilise une méthode spécifique (generate_content_stream) plutôt qu'un indicateur booléen.
| SDK OpenAI | SDK Google Gen AI |
|---|---|
|
|
Étapes suivantes
- Découvrez comment utiliser les bibliothèques OpenAI avec Vertex AI.
- Consultez des exemples de code pour la compatibilité avec OpenAI.
- Commencez par le guide de démarrage rapide du SDK Google Gen AI.