En esta página, se explica cómo migrar el código diseñado para el SDK de OpenAI al SDK de IA generativa de Google para utilizar los modelos de Gemini en la plataforma de agentes de Gemini Enterprise.
Descripción general de la migración
En el siguiente notebook, se muestra una migración práctica de la biblioteca openai a la biblioteca 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="..." (str) o contents=[...] (lista) |
| Instrucciones del sistema | messages=[{"role": "system", "content": "..."}] |
config=types.GenerateContentConfig(system_instruction=...) |
| Acceso a la respuesta | response.choices[0].message.content |
response.text |
| Historial de chat | Administración manual de listas (messages.append) |
client.chats.create() (objeto con estado) |
| Tokens máximos | 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, la plataforma de agentes usa credenciales de Identity and Access Management (IAM) (credenciales predeterminadas de la aplicación). Debes definir de forma explícita el ID del proyecto y la ubicación.
| SDK de OpenAI | SDK de IA generativa de Google |
|---|---|
|
|
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 configurado, puedes inicializar el cliente sin pasar parámetros:
from google import genai
client = genai.Client()
Ejemplos de código
En los siguientes ejemplos 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 las siguientes muestras 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 | SDK de IA generativa de Google |
|---|---|
|
|
Generación de texto con parámetros
En las siguientes muestras 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 (antes max_tokens) y el formato JSON se agrupan en un objeto GenerateContentConfig.
| SDK de OpenAI | SDK de IA generativa de Google |
|---|---|
|
|
Chat (varios turnos)
En las siguientes muestras de código, se muestran las diferencias en la administración del historial de chat. El SDK de IA generativa de Google simplifica esto proporcionando un objeto chat con estado, mientras que OpenAI requiere agregar mensajes de forma manual a una lista.
| SDK de OpenAI | SDK de IA generativa de Google |
|---|---|
|
|
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 | SDK de IA generativa de Google |
|---|---|
|
|
¿Qué sigue?
- Obtén información para usar las bibliotecas de OpenAI con la plataforma de agentes de Gemini Enterprise.
- Consulta ejemplos de código para la compatibilidad con OpenAI.
- Comienza a usar la guía de inicio rápido del SDK de IA generativa de Google.