A partir del lanzamiento de Gemini 2.0 a fines de 2024, presentamos un nuevo conjunto de bibliotecas llamado el SDK de GenAI de Google. Ofrece una experiencia mejorada para desarrolladores a través de una arquitectura de cliente actualizada y simplifica la transición entre los flujos de trabajo para desarrolladores y empresas.
El SDK de GenAI de Google ahora está disponible de forma general en todas las plataformas compatibles. Si usas una de nuestras bibliotecas heredadas, te recomendamos que migres.
En esta guía, se proporcionan ejemplos de código migrado antes y después para ayudarte a comenzar.
Instalación
Antes
Python
pip install -U -q "google-generativeai"
JavaScript
npm install @google/generative-ai
Go
go get github.com/google/generative-ai-go
Después
Python
pip install -U -q "google-genai"
JavaScript
npm install @google/genai
Go
go get google.golang.org/genai
Acceso a la API
El SDK anterior controlaba de forma implícita el cliente de la API en segundo plano con una variedad de métodos ad hoc. Esto dificultaba la administración del cliente y las credenciales.
Ahora, interactúas a través de un objeto Client central. Este objeto Client actúa como un único punto de entrada para varios servicios de la API (p.ej., models, chats, files, tunings), lo que promueve la coherencia y simplifica la administración de credenciales y configuración en diferentes llamadas a la API.
Antes (acceso a la API menos centralizado)
Python
El SDK anterior no usaba de forma explícita un objeto cliente de nivel superior para la mayoría de las llamadas a la API. Creabas instancias de objetos GenerativeModel y interactuabas con ellos directamente.
import google.generativeai as genai
# Directly create and use model objects
model = genai.GenerativeModel('gemini-3.5-flash')
response = model.generate_content(...)
chat = model.start_chat(...)
JavaScript
Si bien GoogleGenerativeAI era un punto central para los modelos y el chat, otras funcionalidades, como la administración de archivos y caché, a menudo requerían importar y crear instancias de clases de cliente completamente separadas.
import { GoogleGenerativeAI } from "@google/generative-ai";
import { GoogleAIFileManager, GoogleAICacheManager } from "@google/generative-ai/server"; // For files/caching
const genAI = new GoogleGenerativeAI("GEMINI_API_KEY");
const fileManager = new GoogleAIFileManager("GEMINI_API_KEY");
const cacheManager = new GoogleAICacheManager("GEMINI_API_KEY");
// Get a model instance, then call methods on it
const model = genAI.getGenerativeModel({ model: "gemini-3.5-flash" });
const result = await model.generateContent(...);
const chat = model.startChat(...);
// Call methods on separate client objects for other services
const uploadedFile = await fileManager.uploadFile(...);
const cache = await cacheManager.create(...);
Go
La función genai.NewClient creó un cliente, pero las operaciones del modelo generativo se llamaban, por lo general, en una instancia GenerativeModel separada obtenida de este cliente. Se podía acceder a otros servicios a través de paquetes o patrones distintos.
import (
"github.com/google/generative-ai-go/genai"
"github.com/google/generative-ai-go/genai/fileman" // For files
"google.golang.org/api/option"
)
client, err := genai.NewClient(ctx, option.WithAPIKey("GEMINI_API_KEY"))
fileClient, err := fileman.NewClient(ctx, option.WithAPIKey("GEMINI_API_KEY"))
// Get a model instance, then call methods on it
model := client.GenerativeModel("gemini-3.5-flash")
resp, err := model.GenerateContent(...)
cs := model.StartChat()
// Call methods on separate client objects for other services
uploadedFile, err := fileClient.UploadFile(...)
Después (objeto cliente centralizado)
Python
from google import genai
# Create a single client object
client = genai.Client()
# Access API methods through services on the client object
response = client.models.generate_content(...)
chat = client.chats.create(...)
my_file = client.files.upload(...)
tuning_job = client.tunings.tune(...)
JavaScript
import { GoogleGenAI } from "@google/genai";
// Create a single client object
const