SELECTSELECT

SELECT

Snowflake Cortex AI SQL: domina su uso, precios y costos

By Jeff SkoldbergOct 9, 20257 min read

Esta página también está disponible en English, Deutsch, Français, Italiano, 日本語 y Português.

¿Qué es Cortex AI SQL?

Las funciones de Cortex AISQL de Snowflake llevan la IA directamente a tus consultas SQL. En lugar de exportar los datos para procesarlos con un modelo, basta con agregar una columna a cualquier sentencia select e invocar la IA justo donde viven tus datos. Puedes analizar texto, imágenes y audio junto con tus datos estructurados usando funciones como AI_COMPLETE, AI_EXTRACT, AI_CLASSIFY, AI_SUMMARIZE y otras, todas con modelos de OpenAI, Anthropic, Meta, Mistral y más.

Lo que muchos clientes de Snowflake no notan al principio es que el cobro por tokens es radicalmente distinto al cobro por warehouse al que están acostumbrados. Y esos costos se pueden disparar muy rápido si no tienes cuidado.

He visto equipos hacer una "prueba rápida" con Claude Opus y quemar una cantidad considerable de créditos en una tarde. No sabían que los tokens de salida también cuentan, eligieron un modelo caro cuando uno más económico hubiera servido perfectamente y no tenían ningún monitoreo para detectarlo a tiempo.

En este post veremos cómo se cobra Cortex AISQL y te mostraremos paso a paso cómo monitorear sus costos usando las vistas account_usage de Snowflake.

¿Cómo funciona Cortex AI SQL?

Usar las funciones de Cortex AISQL es muy sencillo: se llaman directamente desde tus sentencias SQL como cualquier otra función. Aquí tienes un ejemplo simple que clasifica el feedback de clientes como positivo, negativo o neutral:

SELECT
    customer_id,
    feedback_text,
    SNOWFLAKE.CORTEX.AI_CLASSIFY(
        feedback_text,
        ['positive', 'negative', 'neutral']
    ) as sentiment
FROM customer_feedback
LIMIT 10;

El único requisito es que tu rol tenga asignado el rol de base de datos SNOWFLAKE.CORTEX_USER. Por defecto, se otorga al rol PUBLIC, así que la mayoría de los usuarios ya tienen acceso.

Y eso es todo. Sin API keys externas, sin mover datos, sin configurar infraestructura. Los modelos de IA corren directamente dentro del entorno de Snowflake.

Consulta siempre la Snowflake Credit Consumption Table

Antes de profundizar en los costos de Cortex AISQL, conviene recordar que los detalles de precios de todo lo relacionado con Snowflake se encuentran en la Credit Consumption Table, que se mantiene actualizada de forma continua. En la captura siguiente puedes ver que los precios de los distintos modelos de IA varían drásticamente. Claude-4-opus cuesta 12 créditos por millón de tokens, mientras que algunos de los modelos más pequeños cuestan apenas una fracción de crédito por millón de tokens.

¿Cómo funcionan los precios de Cortex AI SQL?

Con las funciones de Cortex pagas por token procesado (tokens de entrada + salida en las funciones generativas, solo entrada en los embeddings).

Las funciones generativas como AI_COMPLETE, AI_CLASSIFY y AI_SUMMARIZE cobran tanto los tokens de entrada (el texto que envías al modelo) COMO los de salida (la respuesta que genera el modelo). Si envías 100 tokens y recibes 200 de vuelta, terminas pagando 300 tokens en total.

La principal **función de embedding** es AI_EMBED, que vectoriza datos como texto o imágenes. Aquí solo se cobran los tokens de entrada, ya que la salida son simplemente números (no texto generado).

Cómo entender los tokens

  • 1 token ≈ 4 caracteres de texto
  • Usa la función COUNT_TOKENS para estimar costos antes de ejecutar operaciones costosas
  • Tanto los tokens de entrada COMO los de salida cuentan en funciones como AI_COMPLETE, AI_CLASSIFY y AI_SUMMARIZE
  • Solo cuentan los tokens de entrada para AI_EMBED y las funciones de extracción

Ejemplos de precios

A continuación te dejamos algunos ejemplos para que tengas una idea del orden de magnitud, pero ten presente que Snowflake cambia los precios constantemente, así que siempre consulta la Credit Consumption Table. Estos ejemplos usan $3 por crédito a modo ilustrativo.

Modelos pequeños:

  • openai-gpt-5-mini: 0.32 créditos = $0.96 por millón de tokens
  • mistral-7b: 0.12 créditos = $0.36 por millón de tokens
  • Ejemplo:
    • Analizar 20,000 reseñas de productos con openai-gpt-5-mini
    • Cada reseña tiene en promedio 100 tokens: 2M tokens = ~$1.92

Modelos medianos:

  • llama3.1-70b: 1.21 créditos = $3.63 por millón de tokens
  • openai-gpt-4.1: 1.40 créditos = $4.20
  • Ejemplo: las mismas 20,000 reseñas con llama3.1-70b = ~$7.26

Modelos grandes (3+ créditos por millón de tokens):

  • llama-3.1-405b: 3 créditos = $9 por millón de tokens
  • claude-4-opus: 12 créditos = $36 por millón de tokens
  • Ejemplo: las mismas 20,000 reseñas con claude-4-opus = ~$72

Multiplicadores de costo en Snowflake Cortex AI SQL

Hay varios factores que hacen que los créditos se consuman más rápido de lo deseado. Estos son algunos puntos a los que conviene prestar atención.

Las salidas extensas multiplican los costos a gran velocidad, ya que las funciones generativas cobran tanto los tokens de entrada como los de salida. Un resumen extenso de 500 palabras cuesta 5 veces más que uno conciso de 100 palabras. Esto se controla desde el prompt engineering.

La elección del modelo importa más de lo que la mayoría piensa: los modelos premium como Claude Opus cuestan 37 veces más que un modelo básico como GPT 5 mini y, para muchas tareas de clasificación o análisis de sentimiento, el modelo más económico cumple de sobra.

Cómo monitorear los costos y el uso de Cortex AI SQL

Snowflake ofrece dos vistas dedicadas para monitorear los costos de las funciones de Cortex AISQL, cada una con un propósito distinto:

CORTEX_FUNCTIONS_USAGE_HISTORY - Datos de uso agregados por hora

  • Agrupa el consumo de tokens y créditos por función, modelo y hora
  • No incluye el query ID, así que no se puede cruzar con una consulta, usuario o rol específico
  • Ideal para entender patrones y tendencias de uso a nivel general
  • Muestra qué funciones y modelos están generando la mayor parte de los costos
  • Datos agregados en intervalos de 1 hora

CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY - Detalle a nivel de cada consulta individual

  • Muestra el consumo de tokens y créditos de cada consulta específica
  • Esencial para identificar consultas u operaciones individuales costosas
  • Incluye los query IDs para un análisis más profundo
  • Te ayuda a detectar consultas que necesitan optimización

Aquí tienes algunos ejemplos de consultas para empezar.

Resumen de costos por hora o por día, agrupado por función y modelo:

-- Por hora, simplemente selecciona todas las columnas de la vista:
select
    start_time,
    end_time,
    function_name,
    model_name,
    warehouse_id,
    token_credits,
    tokens
from
SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_USAGE_HISTORY;

--diario, simplemente agrégalo
select
    date_trunc('day',start_time) as date,

Expandir código

Las 50 consultas más caras. Costo por consulta, incluyendo el texto de la consulta, el usuario y el warehouse:

SELECT
    c.query_id,
    q.query_text as query_text,
    q.start_time,
    q.execution_time / 1000 as execution_seconds,
    c.function_name,
    c.model_name,
    c.tokens,
    c.token_credits,
    q.user_name,
    q.warehouse_name,
FROM SNOWFLAKE.ACCOUNT_USAGE.CORTEX_FUNCTIONS_QUERY_USAGE_HISTORY c
JOIN SNOWFLAKE.ACCOUNT_USAGE.QUERY_HISTORY q
    ON c.query_id = q.query_id
WHERE q.start_time >= DATEADD(day, -7, CURRENT_TIMESTAMP())

Expandir código

También encontré una vista llamada snowflake.account_usage.cortex_aisql_usage_history, aunque no logro dar con su documentación. Esta vista está a nivel de query ID y entrega usage_time, user_id y warehouse_id. Quizás se trate de una funcionalidad en preview sin documentar.

Buenas prácticas y recomendaciones al usar Cortex AI SQL

Después de trabajar con varios clientes en los costos de Cortex AISQL, aquí van algunas recomendaciones.

Configura alertas, no solo dashboards

Las consultas de monitoreo de arriba no sirven de nada si nadie las ejecuta. Para cualquier cosa que quieras monitorear en Snowflake, puedes envolver el SQL en una tarea programada con una Notification Integration y crear un monitor personalizado que envíe alertas a Slack o Teams. Y si buscas una funcionalidad de monitoreo extremadamente fácil de usar, échale un vistazo a los monitores en SELECT.

Prueba siempre el conteo de tokens primero

Antes de procesar 100,000 filas, ejecuta COUNT_TOKENS sobre una muestra. El conteo de tokens casi siempre es mayor de lo que uno imagina. Una prueba rápida como SELECT AVG(COUNT_TOKENS(your_column)) FROM your_table LIMIT 1000 te muestra con qué estás lidiando.

Empieza con el modelo más pequeño que cumpla la tarea

Lo veo todo el tiempo: los equipos eligen por defecto GPT-4 o los modelos Claude más grandes porque son conocidos y de confianza. Pero para la mayoría de las tareas de clasificación o análisis de sentimiento, gpt-5-mini rinde bien y cuesta 10 veces menos. Prueba con un modelo premium en 100 filas y luego con el modelo más económico. Es muy probable que te sorprenda lo similares que son los resultados con el modelo pequeño.

Pídele a la IA que mantenga la salida corta

Cuando usas AI_COMPLETE o AI_SUMMARIZE, pagas tanto el prompt COMO la respuesta. Si tu prompt pide explicaciones detalladas y estás procesando miles de filas, esos tokens de salida se acumulan rápido. Sé explícito y pide respuestas breves.

Cachea tus resultados o usa actualizaciones incrementales

Si estás clasificando las mismas descripciones de productos cada vez que alguien ejecuta un reporte, estás tirando el dinero. Materializa los resultados de la IA en una tabla. Sí, parece obvio, pero no todos lo hacen.

Vigila qué modelos se están usando en realidad

Ejecuta con frecuencia esa consulta de "Costo por usuario y warehouse". Muchas veces vas a encontrar a alguien probando con un modelo caro en dev que nunca se cambió por una opción más económica en producción. O peor: una consulta descontrolada procesando millones de filas con uno de los modelos Claude más caros.

Para cerrar

Snowflake te da todo lo necesario para monitorear los costos de AISQL: vistas de account usage con el detalle de costos, precios transparentes (aunque complicados) y capacidad de alertas integrada. El reto está en cambiar el chip y entender el modelo de precios basado en tokens. La mayoría de los usuarios veteranos de Snowflake piensan por instinto en la duración de la consulta y el tamaño del warehouse, pero ahora también hay que poner el foco en el conteo de tokens y la elección del modelo. Toma tus primeras semanas con Cortex AISQL como un periodo de aprendizaje. Empieza en pequeño, monitorea de forma obsesiva y consolida patrones antes de escalar. El modelo de precios premia la implementación cuidadosa y castiga el enfoque de "corramos esto sobre todo y veamos qué pasa". He visto a equipos entrar en pánico por costos de IA disparados cuando, en realidad, los modelos tienen un precio razonable si se usan con criterio. Si procesas a diario datasets verdaderamente masivos con funciones de IA, conversa con tu equipo de cuenta de Snowflake sobre precios por volumen. Si llegas a millones de tokens al día, puede haber margen para negociar mejores precios. ¡Ojalá que ahora te sientas con la confianza de usar las funciones de Cortex AISQL sin que la factura te tome por sorpresa! Me encantaría escuchar tus experiencias con estas funciones.

Jeff es Consultor de Datos y Analítica con más de 15 años de experiencia automatizando insights y usando datos para controlar procesos de negocio. Desde lo tecnológico, se especializa en Snowflake + dbt + Tableau. Desde lo sectorial, tiene experiencia en Servicios Públicos, Ensayos Clínicos, Editorial, CPG y Manufactura. Escríbele cuando quieras a [email protected].