🔑 Guía de la API de Gemini
En las clases 3 y 4 usamos un LLM a través de la API de Gemini (Google), porque tiene una capa gratuita que alcanza para el proyecto y funciona directo en Colab. Haz esta configuración una sola vez antes del Sprint 3.
1. Obtener la clave (2 minutos)
- Entra a Google AI Studio con tu cuenta de Google.
- Presiona Create API key (Crear clave de API) y copia la clave.
- No la compartas ni la pegues en el notebook. Quien tenga tu clave puede usarla a tu nombre.
Si no puedes crear la clave
Algunas cuentas institucionales tienen AI Studio bloqueado: usa una cuenta personal de Gmail. Si aun así no puedes, avísalo en la tutoría. Los notebooks tienen un camino alternativo que no se cae sin clave, y te ayudaremos a resolverlo.
2. Guardarla en los Secretos de Colab
- En Colab, abre el panel izquierdo y haz clic en el ícono de la llave 🔑 (Secretos).
- Agregar un secreto nuevo con el nombre
GEMINI_API_KEYy pega la clave como valor. - Activa el interruptor Acceso al notebook.
Así el notebook lee la clave sin que quede escrita en el código:
3. Probar que funciona
!pip -q install -U google-genai
from google import genai
from google.colab import userdata
client = genai.Client(api_key=userdata.get("GEMINI_API_KEY"))
MODELO = "gemini-2.5-flash" # revisa el nombre vigente en la documentación (enlace abajo)
resp = client.models.generate_content(
model=MODELO,
contents="Clasifica este reclamo en una palabra: 'me cobraron dos veces la cuota'",
)
print(resp.text)
print("Tokens de entrada:", resp.usage_metadata.prompt_token_count)
print("Tokens de salida:", resp.usage_metadata.candidates_token_count)
Si imprime una respuesta, está todo listo. Los nombres de los modelos cambian con el tiempo: si aparece un error de modelo no encontrado, revisa la lista vigente en ai.google.dev/gemini-api/docs/models o lista los disponibles con:
4. Límites de la capa gratuita
La capa gratuita limita las solicitudes por minuto y por día. Los valores cambian con el tiempo y dependen de tu cuenta: revisa tus límites vigentes en Google AI Studio y la explicación en ai.google.dev/gemini-api/docs/rate-limits. Para el proyecto:
- Trabaja con muestras (100–200 casos), no con los 6.000 textos.
- Pon una pausa entre llamadas (
time.sleep(7), unas 8 llamadas por minuto, como en los notebooks) y reintenta si aparece el error429(superaste el límite) o503(el modelo está saturado; pasa en horas de alta demanda y se resuelve esperando). - Guarda los resultados en un CSV apenas los obtengas, para no repetir llamadas si se reinicia la sesión.
import time
from google.genai import errors
def llamar_con_reintentos(prompt, intentos=4, espera=10):
for i in range(intentos):
try:
return client.models.generate_content(model=MODELO, contents=prompt)
except errors.APIError as e:
# 429: límite de la capa gratuita · 503: modelo saturado → vale la pena esperar y reintentar
if e.code in (429, 503) and i < intentos - 1:
time.sleep(espera * (i + 1)) # espera cada vez más
else:
raise
5. Privacidad: lee esto antes de enviar datos
Lo que envías a una API sale de tu computador
En la capa gratuita, Google puede usar lo que envías para mejorar sus productos (revisa los términos de la API de Gemini). En una empresa real, enviar reclamos con RUT, teléfonos o nombres de clientes a una API externa sin resguardos puede infringir la ley de protección de datos personales.
En el curso los datos son ficticios, pero practicamos como si fueran reales: anonimiza antes de enviar (lo vemos en la Clase 3).