Ce guide explique comment migrer votre code SDK Vertex AI pour Python depuis l'API PaLM vers l'API Gemini. Vous pouvez générer du texte, des conversations multitours (chat) et du code avec Gemini. Après la migration, vérifiez vos réponses, car la sortie Gemini peut être différente de la sortie PaLM. Pour plus d'informations, consultez la présentation des classes multimodales dans le SDK Vertex AI.
Différences entre Gemini et PaLM
Voici quelques différences entre les modèles Gemini et PaLM:
Leurs structures de réponse sont différentes. Pour en savoir plus sur la structure de réponse Gemini, consultez le corps de la réponse de référence du modèle de l'API Gemini.
Leurs catégories de sécurité sont différentes. Pour en savoir plus sur les différences entre les paramètres de sécurité Gemini et PaLM, consultez la section Principales différences entre Gemini et d'autres familles de modèles.
Gemini ne peut pas effectuer la complétion de code. Si vous devez créer une application de complétion de code, utilisez le modèle
code-gecko
. Pour en savoir plus, consultez la page Modèle de complétion de code Codey.Pour la génération de code, Gemini a un taux de blocage de récitation plus élevé.
Le score de confiance des modèles de génération de code Codey qui indique le niveau de confiance du modèle dans sa réponse n'est pas exposé dans Gemini.
Mettre à jour le code PaLM pour utiliser des modèles Gemini
Les méthodes de la classe GenerativeModel
sont essentiellement les mêmes que celles des classes PaLM. Par exemple, utilisez GenerativeModel.start_chat
pour remplacer l'équivalent PaLM, ChatModel.start_chat
. Toutefois, comme Google Cloud améliore et met à jour Gemini en permanence, vous pouvez rencontrer quelques différences. Pour en savoir plus, consultez la documentation de référence du SDK Python.
Pour migrer de l'API PaLM vers l'API Gemini, les modifications de code suivantes sont nécessaires:
Pour toutes les classes de modèle PaLM, vous utilisez la classe
GenerativeModel
dans Gemini.Pour utiliser la classe
GenerativeModel
, exécutez l'instruction d'importation suivante:from vertexai.generative_models import GenerativeModel
Pour charger un modèle Gemini, utilisez le constructeur
GenerativeModel
au lieu d'utiliser la méthodefrom_pretrained
. Par exemple, pour charger le modèle Gemini 1.0 Pro, utilisezGenerativeModel(gemini-1.0-pro)
.Pour générer du texte en Gemini, utilisez la méthode
GenerativeModel.generate_content
au lieu de la méthodepredict
utilisée sur les modèles PaLM. Exemple :
model = GenerativeModel("gemini-1.0-pro-002") response = model.generate_content("Write a short poem about the moon")
Comparaison des classes Gemini et PaLM
Chaque classe de modèle PaLM est remplacée par la classe GenerativeModel
dans Gemini. Le tableau suivant présente les classes utilisées par les modèles PaLM et leur classe équivalente dans Gemini.
Modèle PaLM | Classe de modèle PaLM | Classe de modèle Gemini |
---|---|---|
text-bison |
TextGenerationModel |
GenerativeModel |
chat-bison |
ChatModel |
GenerativeModel |
code-bison |
CodeGenerationModel |
GenerativeModel |
codechat-bison |
CodeChatModel |
GenerativeModel |
Instructions de configuration courante
Pour l'API PaLM et l'API Gemini dans Vertex AI, le processus de configuration est identique. Pour en savoir plus, consultez la Présentation du SDK Vertex AI pour Python. Voici un exemple de code court qui installe le SDK Vertex AI pour Python.
pip install google-cloud-aiplatform import vertexai vertexai.init(project="PROJECT_ID", location="LOCATION")
Dans cet exemple de code, remplacez PROJECT_ID par votre ID de projet Google Cloud et remplacez LOCATION par l'emplacement de votre projet Google Cloud (par exemple, us-central1
).
Exemples de code Gemini et PaLM
Chacune des paires d'exemples de code suivantes inclut du code PaLM et, à côté de celui-ci, le code Gemini migré à partir du code PaLM.
Génération de texte : Basic
Les exemples de code suivants montrent les différences entre l'API PaLM et l'API Gemini pour créer un modèle de génération de texte.
PaLM | Gemini |
---|---|
|
|
Génération de texte avec des paramètres
Les exemples de code suivants montrent les différences entre l'API PaLM et l'API Gemini pour créer un modèle de génération de texte, avec des paramètres facultatifs.
PaLM | Gemini |
---|---|
|
|
Chat
Les exemples de code suivants montrent les différences entre l'API PaLM et l'API Gemini pour créer un modèle de chat.
PaLM | Gemini |
---|---|
|
|
Génération de code
Les exemples de code suivants montrent les différences entre l'API PaLM et l'API Gemini pour générer une fonction capable de prédire si une année est une année bissextile.
Codey | Gemini |
---|---|
|
|
Étapes suivantes
- Pour en savoir plus sur les derniers modèles et fonctionnalités, consultez la présentation de l'API Vertex AI Gemini.