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 texto, conversaciones de varios turnos (chat) y código con Gemini. Después de migrar, revisa tus respuestas, ya que el resultado de Gemini puede ser diferente del resultado de PaLM. Para obtener más información, consulta Introducción a las clases multimodales en el SDK de Vertex AI.
Diferencias de Gemini con PaLM
A continuación, se muestran algunas diferencias entre los modelos de Gemini y PaLM:
Sus estructuras de respuesta son diferentes. Para obtener información sobre la estructura de respuesta de Gemini, consulta el cuerpo de la respuesta de referencia del modelo de la API de Gemini.
Sus categorías de seguridad son diferentes. Para obtener 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 realizar la finalización del código. Si necesitas crear una aplicación de finalización de código, usa el modelo
code-gecko
. Para obtener más información, consulta Modelo de finalización de código de Codey.Para la generación de código, Gemini tiene una tasa de bloqueos de repetición más alta.
La puntuación de confianza en los modelos de generación de código de Codey que indica la confianza que tiene el modelo en su respuesta no está expuesta 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 de PaLM. Por ejemplo, usa GenerativeModel.start_chat
para reemplazar el equivalente de PaLM, ChatModel.start_chat
. Sin embargo, debido a que Google Cloud siempre mejora y actualiza Gemini, es posible que encuentres algunas diferencias. Para obtener más información, consulta la Referencia del SDK de Python.
Para migrar de la API de PaLM a la API de Gemini, se requieren las siguientes modificaciones de código:
Para todas las clases de modelos de PaLM, se usa 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 de usar el métodofrom_pretrained
. Por ejemplo, para cargar el modelo de 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 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 PaLM se reemplaza por la clase GenerativeModel
en Gemini. En la siguiente tabla, se muestran las clases que usan los modelos de PaLM y su clase equivalente 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
Para la API de PaLM y la API de Gemini en Vertex AI, el proceso de configuración es el mismo. Si deseas obtener más información, consulta Introducción al SDK de Vertex AI para Python. La siguiente es una muestra de código corta 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 por el ID del proyecto de Google Cloud y LOCATION por la ubicación del 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 el código PaLM y, junto a él, el código de Gemini que se migró desde el código 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 API 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 API 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 API 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 API de Gemini para generar una función que prediga si un año es bisiesto.
Codey | Gemini |
---|---|
|
|
Próximos pasos
- Consulta la descripción general de la API de Gemini de Vertex AI para obtener más detalles sobre los modelos y las funciones más recientes.