En esta guía, se muestra cómo migrar tu código del SDK de Vertex AI para Python del uso de la API de PaLM al uso de la API de Gemini. Puedes generar conversaciones de texto de varios turnos (chat) y programar con Gemini. Después de la migración, verifica tus respuestas porque el resultado de Gemini puede ser diferente al resultado de PaLM. Para obtener más información, consulta Introducción a las clases multimodales en SDK de Vertex AI.
Diferencias entre Gemini y PaLM
Las siguientes son algunas diferencias entre los modelos Gemini y PaLM:
Sus estructuras de respuesta son diferentes. Para obtener más información sobre la estructura de 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 más información sobre las diferencias entre la configuración 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 código de finalización, usa el modelo
code-gecko
. Para obtener más información, consulta Modelo de finalización del código Codey.Para la generación de código, Gemini tiene una tasa de bloques de recitaciones más alta.
La puntuación de confianza en los modelos de generación de código de Codey que indica qué tan seguro es el modelo en su respuesta no se expone en Gemini.
Actualiza el código de PaLM para usar modelos de Gemini
Los métodos de la clase GenerativeModel
son, en su mayoría, los mismos que los de
las clases PaLM. Por ejemplo, usa GenerativeModel.start_chat
para reemplazar el
equivalente de PaLM, ChatModel.start_chat
. Sin embargo, debido a que Google Cloud siempre es
mejorar y actualizar Gemini, es posible que te encuentres con algunas diferencias. Para una mayor información
información, consulta la
Referencia del SDK de Python
Para migrar de la API de PaLM a la de Gemini, se requieren las siguientes modificaciones de código:
Para todas las clases de modelos de PaLM, debes usar la clase
GenerativeModel
en Gemini.Para usar la clase
GenerativeModel
, ejecuta la siguiente sentencia 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-1.0-pro)
.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-1.0-pro-002") response = model.generate_content("Write a short poem about the moon")
Comparación de clases de Gemini y PaLM
Cada clase de modelo de PaLM se reemplaza por la clase GenerativeModel
en Gemini. En
la siguiente tabla, se muestran las clases que usan los modelos de PaLM y sus equivalentes
en Gemini.
Modelo de PaLM | Clase de modelo de 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 comunes
Tanto para la API de PaLM como para la de Gemini en Vertex AI, el proceso de configuración es el mismo. Para obtener más información, consulta Introducción al SDK de Vertex AI para Python. La siguiente es una muestra de código corto 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 muestra, reemplaza PROJECT_ID con tu ID del proyecto de Google Cloud.
y reemplaza LOCATION por la ubicación de tu proyecto de Google Cloud.
(por ejemplo, us-central1
).
Muestras de código de Gemini y PaLM
Cada uno de los siguientes pares de muestras de código incluye código PaLM y, junto a él, el código de Gemini que se migró desde el código de PaLM.
Generación de texto básica
En las siguientes muestras de código, se muestran las diferencias entre la API de PaLM y la de Gemini para crear un modelo de generación de texto.
PaLM | Gemini |
---|---|
|
|
Generación de texto con parámetros
En las siguientes muestras de código, se muestran las diferencias entre la API de PaLM y la de Gemini para crear un modelo de generación de texto con parámetros opcionales.
PaLM | Gemini |
---|---|
|
|
Chat
En las siguientes muestras de código, se muestran las diferencias entre la API de PaLM y la de Gemini para crear un modelo de chat.
PaLM | Gemini |
---|---|
|
|
Generación de código
En las siguientes muestras de código, se muestran las diferencias entre la API de PaLM y la de Gemini para generar un atributo que prediga si un año es bisiesto.
Codey | Gemini |
---|---|
|
|
Migra instrucciones a modelos de Gemini
Si tienes conjuntos de instrucciones que usaste anteriormente con modelos de PaLM 2, puedes optimizarlos para usarlos con modelos de Gemini con el Optimizador de instrucciones de Vertex AI (versión preliminar).
Próximos pasos
- Consulta la página Modelos de Google para obtener más detalles sobre los modelos y las funciones más recientes.