Ce guide explique comment migrer votre code SDK Vertex AI pour Python depuis l'API PaLM vers l'API Gemini. Gemini vous permet de générer du texte, des conversations multitours (du chat) et du code. 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 :
Les structures de leurs réponses sont différentes. Pour découvrir la structure des réponses Gemini, consultez la section 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 découvrir les différences entre les paramètres de sécurité de Gemini et ceux de PaLM, consultez la section Principales différences entre Gemini et les autres familles de modèles.
Gemini ne peut pas effectuer d'opération de complétion de code. Si vous devez créer une application de complétion de code, utilisez plutôt le modèle
code-gecko
. Pour en savoir plus, consultez la section Modèle de complétion de code Codey.Concernant la génération de code, Gemini présente un taux plus élevé de traitement de blocs de récitation.
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 afin d'utiliser des modèles Gemini
Les méthodes de la classe GenerativeModel
sont pour la plupart identiques à celles des classes PaLM. Vous utiliserez par exemple la méthode GenerativeModel.start_chat
pour remplacer son équivalent PaLM, ChatModel.start_chat
. Cependant, étant donné que Google Cloud applique un processus continu d'amélioration et de mise à jour de Gemini, vous constaterez potentiellement 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 devez utiliser 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 de la méthodefrom_pretrained
. Par exemple, pour charger le modèle Gemini 1.0 Pro, spécifiezGenerativeModel(gemini-1.0-pro)
.Pour générer du texte dans Gemini, utilisez la méthode
GenerativeModel.generate_content
plutôt que la méthodepredict
, qui est utilisé 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 comprend du code PaLM et, à côté, du 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 qui prédit si une année est bissextile.
Codey | Gemini |
---|---|
|
|
Migrer des requêtes vers des modèles Gemini
Si vous avez des ensembles d'invites que vous avez déjà utilisés avec des modèles PaLM 2, vous pouvez les optimiser pour les utiliser avec des modèles Gemini à l'aide de l'optimiseur d'invites Vertex AI (bêta).
Étapes suivantes
- Pour en savoir plus sur les derniers modèles et fonctionnalités, consultez la présentation de l'API Vertex AI Gemini.