Jorge Turbica / blog · Blog ← Todos los artículos EN · Read in English
Cloud

BigQuery pone cuotas de tokens GA a las funciones de IA generativa

Cuotas diarias de tokens por proyecto y por usuario para AI.GENERATE, AI.IF o AI.CLASSIFY. Útil si lanzas LLMs desde SQL y quieres tope de gasto.

Google Cloud ha declarado disponibles de forma general (GA) las cuotas de tokens para las funciones de IA generativa de BigQuery (14 de octubre de 2026). Si tu equipo mete AI.GENERATE o AI.CLASSIFY en consultas SQL, ahora hay un freno preventivo por proyecto y por usuario, y no solo una factura que se mira a final de mes.

Qué cambia

Las cuotas se gestionan desde el sistema de cuotas de IAM y aplican a AI.GENERATE, AI.GENERATE_TABLE, AI.GENERATE_TEXT (alias ML.GENERATE_TEXT), AI.CLASSIFY, AI.IF, AI.SCORE y AI.AGG. No cubren AI.GENERATE_EMBEDDING ni AI.EMBED, que usan modelos distintos y bastante más baratos. Son cuatro cuotas diarias, globales (suman todas las regiones), con estos valores por defecto según el artículo:

CuotaAlcancePor defecto
AI input tokens per dayproyecto200.000 millones
AI input tokens per day per userproyecto y usuario150.000 millones
AI output tokens per dayproyecto20.000 millones
AI output tokens per day per userproyecto y usuario15.000 millones

Los tokens de salida incluyen los de razonamiento, igual que en la factura de Gemini. Se editan en IAM y administración → Cuotas y límites del sistema, filtrando por BigQuery API. Bajar una cuota surte efecto al instante y sin aprobación; subirla se pide en la misma pantalla. Hacen falta roles como Quota Administrator (roles/servicemanagement.quotaAdmin) o Service Usage Admin, y se pueden automatizar con la Cloud Quotas API, gcloud y Terraform.

El comportamiento al agotarse es lo más interesante. Si la cuota ya está agotada al lanzar la consulta, falla de entrada con QuotaExceeded. Si se agota a mitad, BigQuery deja de enviar llamadas nuevas al modelo: las funciones con max_error_ratio (como AI.IF) devuelven resultados parciales mientras las filas sin procesar queden dentro del ratio, y las generales (como AI.GENERATE) terminan con éxito, dejando las filas omitidas sin valor y con el error en su campo status.

Por qué importa en producción

Una consulta sobre una tabla grande puede lanzar millones de llamadas a un LLM sin que nadie lo note hasta que llega la factura. Los topes de gasto de Cloud Billing son en dólares y, según el artículo, no se aplican al instante, así que puede haber sobrecoste. Las cuotas de tokens son preventivas y específicas de IA, y la distinción por usuario evita que un experimento de un analista se coma el presupuesto del proyecto.

Hay una trampa que conviene vigilar: con las funciones generales, agotar la cuota no hace fallar la consulta. Un pipeline que no comprueba status puede escribir filas vacías y dar el trabajo por bueno.

Qué haría yo

  1. Estimar antes de fijar nada con AI.COUNT_TOKENS, que da una cota inferior de tokens de entrada (no cuenta salida, ni las instrucciones que añade cada función, ni entradas que no sean texto).
  2. Calcular el presupuesto. El ejemplo del artículo, con Gemini 3.1 Flash-Lite con el descuento batch del 50 % de BigQuery (0,125 $ por millón de entrada y 0,75 $ por millón de salida) y una proporción 100:1, sale a unos 754 millones de tokens de entrada y 7,54 millones de salida al día para 100 $ diarios.
  3. Empezar por las cuotas por usuario y bajar las de proyecto a un valor realista.
  4. Añadir a los pipelines una comprobación de filas con error en status y una alerta sobre el consumo en la página de cuotas.
  5. Revisar que los embeddings, no cubiertos, tengan su propio control.

Fuentes

Jorge Turbica

Software Engineer y SRE. Escribo sobre los retos reales que me encuentro en producción.

Ver portfolio ↗