En esta guía se muestra cómo migrar código del SDK de Vertex AI para Python de la API PaLM a la API Gemini. Puedes generar texto, conversaciones de varios turnos (chat) y código con Gemini. Después de la migración, comprueba tus respuestas, ya que el resultado de Gemini puede ser diferente del de PaLM.
Diferencias entre Gemini y PaLM
Estas son algunas diferencias entre los modelos de Gemini y PaLM:
Sus estructuras de respuesta son diferentes. Para obtener información sobre la estructura de las respuestas de Gemini, consulta el cuerpo de respuesta de la referencia del modelo de la API de Gemini.
Sus categorías de seguridad son diferentes. Para obtener información sobre las diferencias entre los ajustes de seguridad de Gemini y PaLM, consulta Diferencias clave entre Gemini y otras familias de modelos.
Gemini no puede completar el código. Si necesitas crear una aplicación de autocompletado de código, usa el modelo
code-gecko
. Para obtener más información, consulta el artículo Modelo de finalización de código de Codey.En cuanto a la generación de código, Gemini tiene una tasa de bloqueo de recitación más alta.
La puntuación de confianza de los modelos de generación de código de Codey, que indica el nivel de confianza del modelo en su respuesta, no se muestra en Gemini.
Actualizar el código de PaLM para usar modelos de Gemini
Los métodos de la clase GenerativeModel
son prácticamente los mismos que los de las clases PaLM. Por ejemplo, usa GenerativeModel.start_chat
para sustituir el equivalente de PaLM, ChatModel.start_chat
. Sin embargo, como Google Cloud siempre está mejorando y actualizando Gemini, puede que encuentres algunas diferencias. Para obtener más información, consulta la referencia del SDK de Python.
Para migrar de la API PaLM a la API de Gemini, es necesario modificar el código de la siguiente manera:
En todas las clases de modelos de PaLM, se usa la clase
GenerativeModel
en Gemini.Para usar la clase
GenerativeModel
, ejecuta la siguiente instrucción de importación:from vertexai.generative_models import GenerativeModel
Para cargar un modelo de Gemini, usa el constructor
GenerativeModel
en lugar del métodofrom_pretrained
. Por ejemplo, para cargar el modelo Gemini 1.0 Pro, usaGenerativeModel(gemini-2.0-flash-001)
.Para generar texto en Gemini, usa el método
GenerativeModel.generate_content
en lugar del métodopredict
que se usa en los modelos de PaLM. Por ejemplo:
model = GenerativeModel("gemini-2.0-flash-001") response = model.generate_content("Write a short poem about the moon")
Comparación de las clases de Gemini y PaLM
Cada clase de modelo de PaLM se sustituye por la clase GenerativeModel
en Gemini. En la siguiente tabla se muestran las clases que usan los modelos PaLM y su clase equivalente en Gemini.
Modelo PaLM | Clase de modelo PaLM | Clase de modelo de Gemini |
---|---|---|
text-bison |
TextGenerationModel |
GenerativeModel |
chat-bison |
ChatModel |
GenerativeModel |
code-bison |
CodeGenerationModel |
GenerativeModel |
codechat-bison |
CodeChatModel |
GenerativeModel |
Instrucciones de configuración habituales
El proceso de configuración es el mismo para la API PaLM y la API de Gemini en Vertex AI. Para obtener más información, consulta la introducción al SDK de Vertex AI para Python. A continuación, se muestra un breve fragmento de código que instala el SDK de Vertex AI para Python.
pip install google-cloud-aiplatform import vertexai vertexai.init(project="PROJECT_ID", location="LOCATION")
En este código de ejemplo, sustituye PROJECT_ID por el ID de tu proyecto Google Cloud y LOCATION por la ubicación de tu proyecto Google Cloud (por ejemplo, us-central1
).
Ejemplos de código de Gemini y PaLM
Cada uno de los siguientes pares de ejemplos de código incluye código de PaLM y, junto a él, código de Gemini que se ha migrado desde el código de PaLM.
Generación de texto: básica
Los siguientes ejemplos de código muestran las diferencias entre la API PaLM y la API Gemini para crear un modelo de generación de texto.
PaLM | Gemini |
---|---|
|
|
Generación de texto con parámetros
Los siguientes ejemplos de código muestran las diferencias entre la API PaLM y la API Gemini para crear un modelo de generación de texto, con parámetros opcionales.
PaLM | Gemini |
---|---|
|
|
Chat
En los siguientes ejemplos de código se muestran las diferencias entre la API PaLM y la API Gemini para crear un modelo de chat.
PaLM | Gemini |
---|---|
|
|
Generación de código
Los siguientes ejemplos de código muestran las diferencias entre la API PaLM y la API Gemini para generar una función que predice si un año es bisiesto.
Codey | Gemini |
---|---|
|
|
Migrar peticiones a modelos de Gemini
Si tienes conjuntos de peticiones que has usado anteriormente con modelos PaLM 2, puedes optimizarlos para usarlos con modelos Gemini mediante el optimizador de peticiones de Vertex AI (vista previa).
Pasos siguientes
- Consulta la página Modelos de Google para obtener más información sobre los modelos y las funciones más recientes.