En pocas palabras: Snowflake Cortex corre modelos generativos como funciones SQL nativas: llamás a un LLM dentro de un SELECT, sin exportar datos. Se ejecuta una vez por fila y facturás tokens más créditos del warehouse. Necesitás el rol SNOWFLAKE.CORTEX_USER, disponible desde la edición Standard.
Snowflake Cortex es la forma de ejecutar inteligencia artificial generativa directamente en tus tablas SQL: una llamada a un modelo de lenguaje que vive como una función más dentro de un SELECT. Sin exportar datos, sin pipeline aparte. La pregunta que decide si te sirve no es qué puede hacer, sino cuánto cuesta cuando la tabla tiene millones de filas y no cinco.
Snowflake Cortex es el conjunto de funciones de IA de Snowflake que ejecutan modelos generativos como funciones SQL nativas. Corren una vez por fila dentro de un SELECT, se facturan por tokens procesados más los créditos del warehouse, y cubren clasificación, resumen, filtrado en lenguaje natural y agregación sobre columnas enteras. El acceso vive en el rol de base de datos SNOWFLAKE.CORTEX_USER, disponible en Standard edition o superior.
En 30 segundos
- Facturación doble: pagás tokens de la función de IA más créditos del warehouse. El costo escala con las filas, no con la cantidad de queries.
- El acceso es por rol:
SNOWFLAKE.CORTEX_USERno se otorga a un usuario directo, solo a un rol. - Los nombres cambiaron:
AI_COMPLETEreemplaza a la viejaSNOWFLAKE.CORTEX.COMPLETEdesde 2024. Un tutorial anterior te deja con sintaxis deprecada. - Auditá desde el día uno: mirá
CORTEX_AI_FUNCTIONS_USAGE_HISTORY, no la deprecadaCORTEX_FUNCTIONS_USAGE_HISTORYque ya no se actualiza. - Filtrá antes, no después: un
WHEREmal ubicado hace una llamada al modelo por cada fila de la tabla entera.
¿Cuál es el costo real de ejecutar IA en Snowflake?
El costo de Cortex tiene dos patas: los tokens que procesa cada función de IA y los créditos del warehouse que consume la query alrededor. Pagás las dos cosas. Y acá está la trampa mental: un warehouse cuesta lo mismo toque diez filas o diez millones. Una función de IA, no. La disciplina que reemplaza a lo que sabías de tunear SQL es simple: filtrá antes de llamar a la función, nunca después.
Ponele que corrés AI_COMPLETE sobre una tabla de tickets sin un LIMIT durante el desarrollo. Una tabla con dos millones de tickets va a hacer, con toda amabilidad, dos millones de llamadas al modelo. Por eso la costumbre sana es desarrollar contra un LIMIT y sacarlo recién cuando el prompt ya está afinado. En nuestra guía de Claude profundizamos sobre cómo optimizar prompts en Snowflake.
Dos hábitos que conviene adoptar de entrada. Primero, poné el trabajo de IA en su propio warehouse: así los créditos aparecen separados en la facturación sin ningún tag extra. Segundo, otorgá el rol de base de datos a un rol hecho a propósito y no a algo amplio como PUBLIC, porque revocar el acceso después es el único control de gasto real que vas a tener.
¿Qué permisos y requisitos necesitás antes de usar Cortex?
Necesitás cuatro cosas antes de escribir una sola línea de IA: una cuenta en Standard edition o superior en una región donde Cortex esté disponible, un warehouse corriendo, una tabla con una columna de texto, y el rol de base de datos SNOWFLAKE.CORTEX_USER asignado. Ese rol es lo primero que traba a la gente, porque no se puede otorgar a un usuario: solo a un rol.
La secuencia práctica es crear (o elegir) un rol dedicado, otorgarle SNOWFLAKE.CORTEX_USER, y recién ahí asignar ese rol a las personas que van a usar IA. Suena burocrático, pero es exactamente lo que te deja cortar el chorro el día que la factura se dispara. Si tus datos no pueden salir de una jurisdicción (algo habitual si manejás infraestructura o servidores en la Argentina, donde donweb.com es una opción para alojamiento local), la conversación sobre región es previa a todo lo demás.
¿Cuáles son las funciones de Snowflake Cortex para inteligencia artificial en SQL?
La familia de funciones de IA de Snowflake Cortex arranca con AI_COMPLETE, la de propósito general: le pasás un nombre de modelo y un prompt, y devuelve texto. Alrededor giran las funciones específicas por tarea, que son donde el SQL se acorta de verdad porque devuelven valores tipados que podés agrupar y agregar, en vez de prosa que después tenés que parsear.
Ojo con un detalle de nombres. Si encontrás material que usa SNOWFLAKE.CORTEX.COMPLETE, esa es la generación anterior. AI_COMPLETE es la versión actualizada a partir de 2024, y el mismo rename corrió en toda la familia. Copiar un tutorial anterior a ese cambio te deja funcionando, pero con sintaxis deprecada. En nuestra comparativa de Claude Sonnet y Opus profundizamos sobre cómo elegir modelos según la tarea.
Antes de invocar cualquier cosa, listá los modelos que tu cuenta puede llamar de verdad, porque la disponibilidad cambia por región y por release:
SHOW CORTEX BASE MODELS;| Función | Qué hace | Devuelve | Nota |
|---|---|---|---|
AI_COMPLETE | Prompt libre contra un modelo | Texto | Reemplaza a SNOWFLAKE.CORTEX.COMPLETE |
AI_CLASSIFY | Clasifica en categorías propias | Valor tipado (categoría) | Ideal para agrupar y agregar |
AI_FILTER | Filtra en lenguaje natural | Booleano | Se usa dentro del WHERE |
AI_AGG | Agrega una columna entera contra un prompt | Texto | No la limita el context window |
Ejemplos prácticos: clasificar y resumir tickets con SQL
El prompt libre es la parte menos interesante de Cortex. Las funciones por tarea son donde el código se achica. Acá va un clasificador de tickets de soporte, con LIMIT puesto porque estás desarrollando:
SELECT
ticket_id,
AI_CLASSIFY(ticket_text,
['facturacion', 'bug tecnico', 'cancelacion', 'consulta']
) AS categoria
FROM support_tickets
LIMIT 100;Filtrado en lenguaje natural, adentro del WHERE, para quedarte solo con lo que importa antes de gastar en más llamadas:
SELECT ticket_id, ticket_text
FROM support_tickets
WHERE AI_FILTER(
'Este mensaje describe a un cliente amenazando con cancelar: '
|| ticket_text
)
LIMIT 100;Fijate que el filtro va sobre el texto, y devuelve un booleano que Snowflake usa para descartar filas. Según la documentación oficial de AISQL, estas funciones devuelven tipos que podés componer con el resto del SQL sin parsear texto a mano.
¿Cómo agregar datos con AI_AGG sin partir el texto en chunks?
AI_AGG lee una columna entera contra un solo prompt y no la limita el context window del modelo, así que no hay loop de chunking que escribir. Esa es la función que borra más código, porque el patrón clásico de “cortar el texto en pedazos, resumir cada pedazo, resumir los resúmenes” desaparece.
SELECT AI_AGG(
ticket_text,
'Cuales son las tres quejas mas repetidas en estos tickets?'
) AS top_quejas
FROM support_tickets
WHERE created_at >= '2026-08-01';La diferencia con AI_COMPLETE es de fondo. AI_COMPLETE procesa una fila por vez; AI_AGG mira el conjunto. Si querés las quejas dominantes de 50.000 tickets, no llamás al modelo 50.000 veces: hacés una agregación. El WHERE sigue siendo tu amigo para acotar el universo antes de agregar.
4 trampas que te rompen el presupuesto
Cortex es fácil de arrancar y fácil de que te salga caro. Estas son las cuatro cosas que muerden más tarde, cuando ya está en una tarea programada.
- Estado preview: varias funciones están marcadas como preview en la documentación de Snowflake, y preview significa que la firma puede cambiarte abajo de los pies. Chequeá el estado de cada función de la que dependés antes de que llegue a un scheduled task.
- No determinismo: el mismo prompt sobre la misma fila puede devolver texto distinto en días distintos. Si una tabla downstream depende de esa salida, materializá el resultado y versionalo, en vez de llamar a la función adentro de una vista que recalcula en cada lectura.
- El costo escala con filas, no con queries: el modelo mental de tunear SQL deja de aplicar. La regla es filtrar antes de la llamada, nunca después.
- Cross-region inference: cuando el modelo que querés no aparece en
SHOW CORTEX BASE MODELS, la cuenta necesita inferencia cross-region. Es una decisión de cuenta entera víaCORTEX_ENABLED_CROSS_REGION, nunca por usuario ni por sesión, y la pregunta real ahí es de compliance más que de costo.
¿Cortex alcanza o necesitás una capa semántica?
Cortex resuelve clasificación y resumen, pero no entiende la lógica de negocio de tu empresa. El modelo puede clasificar un ticket, pero no tiene idea de qué cuenta tu empresa como “cliente activo”, qué definición de ingresos firmó finanzas, ni cuál de cuatro columnas de amount es la gobernada. Esas definiciones viven en una capa semántica, entre las tablas crudas y cualquier cosa que responda preguntas.
¿Qué pasa si te la salteás? Cortex igual funciona. Solo que obtenés respuestas fluidas que en silencio no coinciden con el reporte de finanzas, producidas más rápido que antes. La inferencia ahora está al lado de tus datos, bajo los mismos controles de acceso y el mismo motor de queries. El significado es la parte que no viene incluida.
Errores comunes al usar Snowflake Cortex
- Otorgar el rol al usuario directo:
SNOWFLAKE.CORTEX_USERsolo va a un rol. Si intentás asignarlo a una persona, falla. Creá un rol dedicado y asignáselo ahí. - Auditar la vista deprecada:
CORTEX_FUNCTIONS_USAGE_HISTORYya no se actualiza. UsáCORTEX_AI_FUNCTIONS_USAGE_HISTORYpara cobertura completa, oCORTEX_AISQL_USAGE_HISTORY. Los datos pueden tardar unas horas en aparecer, así que un resultado vacío justo después de tu primera query es esperable, no un problema de permisos. - Correr sin LIMIT en desarrollo: desarrollá siempre contra un
LIMITy sacalo recién cuando el prompt está listo. Es la diferencia entre una prueba de centavos y una factura de sorpresa.
Preguntas Frecuentes
¿Cómo uso IA generativa en mis consultas SQL de Snowflake?
Llamás a una función de Cortex como AI_COMPLETE, AI_CLASSIFY o AI_AGG adentro de un SELECT, pasándole una columna de texto y un prompt. La función corre una vez por fila y devuelve texto o un valor tipado. Antes necesitás el rol SNOWFLAKE.CORTEX_USER y un warehouse corriendo.
¿Cuál es el costo de usar Snowflake Cortex?
Pagás dos cosas: los tokens que procesa la función de IA y los créditos del warehouse que consume la query. El costo escala con la cantidad de filas, no con la cantidad de queries, así que una tabla de millones de filas sin filtrar puede salir cara. Auditá el consumo en CORTEX_AI_FUNCTIONS_USAGE_HISTORY.
¿Qué permisos necesito para acceder a Cortex?
Necesitás el rol de base de datos SNOWFLAKE.CORTEX_USER, que no se puede otorgar a un usuario directo, solo a un rol. La práctica recomendada es crear un rol hecho a propósito, otorgarle ese acceso y asignar ese rol a las personas, porque revocarlo es tu único control de gasto real.
¿Cómo resumo o clasifico texto con SQL y Cortex?
Para clasificar usás AI_CLASSIFY pasándole el texto y tu lista de categorías; devuelve un valor tipado que podés agrupar. Para resumir una columna entera usás AI_AGG, que lee todas las filas contra un solo prompt sin límite de context window, así que no tenés que partir el texto en chunks a mano.
¿Qué modelos de lenguaje están disponibles en Snowflake Cortex?
Depende de tu región y del release. Corré SHOW CORTEX BASE MODELS; para ver la lista exacta que tu cuenta puede llamar. Si el modelo que querés no aparece, la cuenta necesita habilitar inferencia cross-region con el parámetro CORTEX_ENABLED_CROSS_REGION, una decisión de cuenta entera con implicancias de compliance.
Conclusión
Lo que cambió es dónde vive la inferencia: ahora está al lado de tus datos, bajo los mismos controles de acceso y el mismo motor de queries que ya usás. Eso cubre una clase grande de trabajo que antes justificaba un servicio aparte. Si venís usando SNOWFLAKE.CORTEX.COMPLETE, migrá a AI_COMPLETE y a la familia con prefijo AI_ antes de que la sintaxis vieja te quede sin soporte.
El orden práctico es claro: primero el acceso por rol, después probás las funciones sobre un LIMIT, y recién ahí mirás el consumo antes de escalar. Filtrá antes de la función, materializá lo que sea no determinista, y si vas a responder preguntas de negocio, ponéle una capa semántica arriba. Sin eso, Cortex igual funciona: solo que te da respuestas rápidas que discrepan en silencio con finanzas.
Fuentes
- Documentación oficial de Snowflake AISQL – funciones de IA en SQL, firmas y estados preview
- How to run generative AI on SQL tables with Snowflake Cortex (dev.to) – walkthrough de acceso, funciones y costos
- Usá IA en segundos con Snowflake Cortex (Medium) – introducción práctica en español
- Snowflake Intelligence y los servicios Cortex: Analyst, Search, Agents (Medium)
- El auge de las capacidades de IA/ML integradas en las bases de datos modernas (Navicat)