En esta página, se explica cómo migrar código diseñado para el SDK de OpenAI al SDK de IA generativa de Google para utilizar los modelos de Gemini en Vertex AI.
Descripción general de la migración
En el siguiente notebook, se muestra una migración práctica de la biblioteca de openai a la biblioteca de google-genai:
Asignación de API y sintaxis
En la siguiente tabla, se comparan los componentes, los métodos y los parámetros principales del SDK de OpenAI con el SDK de IA generativa.
| Función | SDK de OpenAI (openai) |
SDK de IA generativa (google-genai) |
|---|---|---|
| Inicialización del cliente | client = OpenAI(api_key=...) |
client = genai.Client(vertexai=True, ...) |
| Método de generación | client.chat.completions.create |
client.models.generate_content |
| Método de transmisión | stream=True (parámetro) |
client.models.generate_content_stream (método) |
| Entrada del usuario | messages=[{"role": "user", "content": "..."}] |
contents="..." (cadena) o contents=[...] (lista) |
| Instrucciones del sistema | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Acceso a las respuestas | response.choices[0].message.content |
response.text |
| Historial de chat | Administración manual de listas (messages.append) |
client.chats.create() (objeto con estado) |
| Max Tokens | max_tokens |
max_output_tokens (dentro de config) |
| Temperatura | temperature |
temperature (dentro de config) |
| Modo JSON | response_format={"type": "json_object"} |
response_mime_type="application/json" (dentro de config) |
Instalación y configuración
Desinstala la biblioteca de OpenAI y, luego, instala el SDK de IA generativa.
pip install google-genai
2. Autenticación e inicialización
Mientras que OpenAI usa una clave de API, Vertex AI usa credenciales de Identity and Access Management (IAM) (credenciales predeterminadas de la aplicación). Debes definir explícitamente el ID y la ubicación del proyecto.
| SDK de OpenAI | Google Gen AI SDK |
|---|---|
|
|
Establece GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_CLOUD_PROJECT y GOOGLE_CLOUD_LOCATION, como se muestra a continuación:
export GOOGLE_GENAI_USE_VERTEXAI=true
export GOOGLE_CLOUD_PROJECT='your-project-id'
export GOOGLE_CLOUD_LOCATION='global'
Una vez que lo configures, podrás inicializar el cliente sin pasar parámetros:
from google import genai
client = genai.Client()
Ejemplos de código
En las siguientes muestras de código, se muestran las diferencias entre el SDK de OpenAI y el SDK de IA generativa de Google para tareas comunes.
Generación de texto de un solo turno
En los siguientes ejemplos de código, se muestra cómo generar texto. Ten en cuenta que, en el SDK de IA generativa de Google, las instrucciones del sistema se controlan como un parámetro de configuración en lugar de un rol de mensaje en la lista de entrada.
| SDK de OpenAI | Google Gen AI SDK |
|---|---|
|
|
Generación de texto con parámetros
En los siguientes ejemplos de código, se muestran las diferencias en la definición de los parámetros de configuración. En el SDK de IA generativa de Google, los parámetros como temperature, max_output_tokens (anteriormente max_tokens) y el formato JSON se agrupan en un objeto GenerateContentConfig.
| SDK de OpenAI | Google Gen AI SDK |
|---|---|
|
|
Chat (varios turnos)
En los siguientes ejemplos de código, se muestran las diferencias en la administración del historial de chat. El SDK de IA generativa de Google simplifica este proceso proporcionando un objeto chat con estado, mientras que OpenAI requiere que se agreguen mensajes manualmente a una lista.
| SDK de OpenAI | Google Gen AI SDK |
|---|---|
|
|
Transmisión
En las siguientes muestras de código, se muestran las diferencias en las respuestas de transmisión. El SDK de IA generativa de Google usa un método específico (generate_content_stream) en lugar de una marca booleana.
| SDK de OpenAI | Google Gen AI SDK |
|---|---|
|
|
¿Qué sigue?
- Obtén más información para usar las bibliotecas de OpenAI con Vertex AI.
- Consulta ejemplos de código para la compatibilidad con OpenAI.
- Comienza con la guía de inicio rápido del SDK de IA generativa de Google.