Cette page explique comment migrer du 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 d'API et de syntaxe
Le tableau suivant compare les composants, les méthodes et les paramètres principaux du SDK OpenAI avec le 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 à la réponse | 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é ci-dessous :
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 gérées en tant que paramètre de configuration plutôt qu'en tant que 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 (auparavant 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 chats. Le SDK Google Gen AI simplifie cette opération en fournissant un objet chat avec état, tandis qu'OpenAI nécessite 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 |
|---|---|
|
|
Étape suivante
- Découvrez comment utiliser les bibliothèques OpenAI avec Vertex AI.
- Consultez des exemples de code pour la compatibilité avec OpenAI.
- Commencez avec le guide de démarrage rapide du SDK Google Gen AI.