¿Alguna vez has deseado que tus datos se analicen y describan por sí solos? ¿Imaginas generar cientos de descripciones de productos, artículos o informes con una simple consulta? ¿O automatizar tareas repetitivas de análisis y clasificación de información? ¡Entonces estás en el lugar correcto! En este post, te mostraremos cómo la magia de la IA generativa se une a la potencia de BigQuery para revolucionar la forma en que trabajas con tus datos.
Prepárate para descubrir cómo BigQuery ML, en combinación con modelos de lenguaje avanzados como Gemini y Claude, te permite automatizar tareas, generar contenido de forma masiva y obtener información valiosa de tus datos de una manera completamente nueva. ¡Comencemos!
La necesidad de usar IA en nuestros análisis
En el mundo actual, donde la información se genera a un ritmo vertiginoso, necesitamos contar con herramientas que nos permitan analizarla y comprenderla de forma eficiente. La IA generativa se presenta como un soplo de aire fresco, capaz de automatizar tareas que antes requerían horas de trabajo manual y de descubrir patrones ocultos en grandes volúmenes de datos.
BigQuery ML, la herramienta de Machine Learning e IA de Google Cloud, te permite acceder a modelos de IA generativa como Gemini y Claude directamente desde BigQuery. Esto significa que puedes aplicar la potencia de la IA a tus datos sin necesidad de salir de tu entorno de análisis, sin tener que programar en Python o Javascript, sin tener que configurar servidores ni APIs. Todo se hace con el lenguaje SQL que ya conoces, aplicado al mundo de la IA generativa.
Con BigQuery ML y su función GENERATE_TEXT, puedes:
- Generar contenido automáticamente: descripciones de productos, artículos de blog, resúmenes de texto, etc.
- Analizar el sentimiento y la intención en los comentarios de los clientes.
- Crear análisis que respondan preguntas de forma natural y precisa.
- Autoclusterizar contenidos y crear variables nuevas en tus datos.
- Traducir, sintetizar y homogeinizar textos de forma masiva.
- Y mucho más…
En este post, te guiaremos paso a paso para que puedas empezar a usar BigQuery ML y la IA generativa en tus propios proyectos. Aprenderás a crear modelos, generar texto y aplicar esta tecnología a casos de uso reales en tu negocio. ¡Prepárate para una revolución en tus datos!
¿Qué es BigQuery ML?
BigQuery ML es un módulo que todos tenemos ya activo en BigQuery y que te permite crear y ejecutar modelos de Machine Learning e IA directamente en el SQL de BigQuery. Esto es una gran ventaja, ya que no necesitas exportar tus datos a otras plataformas ni aprender lenguajes de programación complejos como Python o R. Puedes usar SQL, para trabajar con BigQuery, para entrenar y usar modelos de Machine Learning. Esto facilita la integración del Machine Learning en tus flujos de trabajo de análisis de datos.
Puedes saber más sobre esto en nuestro post de introducción a BigQuery ML.
Una de las grandes ventajas de BigQuery ML es su capacidad para conectarse con Vertex AI, la plataforma de Machine Learning de Google Cloud. Vertex AI te da acceso a una amplia gama de modelos pre-entrenados, incluyendo modelos de clasificación, regresión, predicción de series temporales y mucho más. Y lo mejor de todo es que, gracias a la integración con BigQuery ML, puedes usarlos directamente desde BigQuery, sin tener que preocuparte por la infraestructura o la gestión de modelos.
En este post, nos centraremos en los modelos de lenguaje avanzados de IA generativa disponibles en Vertex AI, como Gemini 2.0, Gemini 1.5 (en sus versiones Pro y Flash), Claude Sonnet y Claude Haiku. Estos modelos son capaces de generar texto, traducir idiomas, escribir diferentes tipos de contenido creativo y responder a tus preguntas de forma informativa. Y gracias a BigQuery ML, puedes acceder a todo su potencial con simples queries SQL.
La función GENERATE_TEXT es la clave para la generación de contenido automatizada en BigQuery ML. Esta función te permite enviar un «prompt» (una instrucción o pregunta) a un modelo de lenguaje y obtener una respuesta en forma de texto. Puedes usar GENERATE_TEXT para generar todo tipo de contenido, desde descripciones de productos hasta artículos de blog, pasando por resúmenes de texto, traducciones y mucho más. Todo ello, sin salir de BigQuery y con la comodidad de usar SQL.
Ventajas de BigQuery ML
BigQuery ML ofrece una serie de ventajas que lo convierten en una herramienta ideal para la generación de contenido y el análisis de datos:
- Escalabilidad: BigQuery ML está diseñado para manejar grandes volúmenes de datos. Puedes generar miles de peticiones de IA en una sola consulta, lo que te permite automatizar la generación de contenido a gran escala. Olvídate de las limitaciones de tus servidores o de los tiempos de espera de las APIs o de tener que lanzar peticiones una a una. Con BigQuery ML, la escalabilidad está garantizada.
- Personalización: Puedes personalizar los «prompts» que envías a los modelos de lenguaje, utilizando variables y datos de tus propias tablas. Esto te permite generar contenido que se adapte a tus necesidades específicas. Puedes usar datos de tus clientes, de tus productos, de tus campañas de marketing… ¡Las posibilidades son infinitas!
- Flexibilidad: BigQuery ML te permite ajustar las variables de los modelos de lenguaje en tiempo real, lo que te da un control total sobre el proceso de generación de contenido. Puedes ajustar la temperatura (creatividad) del modelo, el número máximo de tokens de salida, y mucho más. Así, puedes ajustar el modelo a tus necesidades y obtener los resultados que buscas.
- Autoanálisis: BigQuery ML puede generar variables o filtrar datos automáticamente, lo que te ayuda a descubrir patrones ocultos en tus datos. Deja que la IA haga el trabajo pesado por ti. Puedes usar la IA generativa para crear nuevas variables a partir de tus datos, o para filtrar la información de forma inteligente.
- Exportación y visualización: Puedes exportar los resultados de BigQuery ML a Looker Studio, CSV o Google Sheets para su posterior análisis y visualización. Esto te permite integrar la IA generativa en tus flujos de trabajo existentes y compartir los resultados con tu equipo.
Análisis avanzados con BigQuery ML
Además de la generación de contenido, BigQuery ML te permite realizar análisis avanzados de texto, como:
- Análisis de sentimiento: determinar si un texto expresa una emoción positiva, negativa o neutra. Esto es muy útil para analizar las opiniones de tus clientes sobre tus productos o servicios.
- Identificación de temas: extraer los temas principales de un conjunto de textos. Puedes usar esta funcionalidad para analizar las conversaciones de tus clientes o para clasificar los documentos de tu empresa.
- Clasificación de texto: asignar un texto a una categoría predefinida. Puedes usar esta funcionalidad para clasificar los correos electrónicos de tus clientes, los artículos de noticias o cualquier otro tipo de texto.
- Clusterización de texto: agrupar textos similares. Esto te permite descubrir patrones en grandes conjuntos de datos de texto, como por ejemplo, identificar grupos de clientes con intereses similares.
También puedes usar BigQuery ML para:
- Crear variables y filtros sin necesidad de escribir código. La IA generativa puede ayudarte a crear variables complejas o a filtrar la información de forma inteligente, sin necesidad de escribir código SQL.
- Automatizar la clasificación y clusterización de datos. Deja que la IA organice tus datos por ti. Puedes usar la IA generativa para clasificar tus productos, tus clientes o cualquier otro tipo de datos.
- Traducir textos de forma masiva. Traduce grandes volúmenes de texto de forma rápida y sencilla, sin necesidad de usar servicios externos.
- Generar reportes de rendimiento de campañas. Automatiza la generación de informes de tus campañas de marketing, incluyendo análisis de texto y generación de resúmenes.
- Y mucho más… Las posibilidades son infinitas. La IA generativa con BigQuery ML te abre un mundo de posibilidades. ¡Explora y descubre todo lo que puedes hacer!
Y puede llegarse aún más lejos. En próximos posts (no en este), exploraremos funcionalidades avanzadas de BigQuery ML, como el «fine-tuning» de modelos, que te permite adaptar los modelos pre-entrenados a tus necesidades específicas. Esto te permite obtener un rendimiento aún mayor de la IA generativa. Pero ahora mismo nuestror objetivo es aprender a usar la genérica.
Tutorial: Primeros pasos con GENERATE_TEXT
En esta sección, te guiaremos paso a paso para que puedas empezar a usar la función GENERATE_TEXT de BigQuery ML. Antes de empezar, asegúrate de tener una conexión configurada entre BigQuery y Vertex AI.
Los pasos esenciales que debes haber dado antes de empezar son los siguientes:
- Habilitar tu proyecto con una cuenta de facturación (siempre hay una franja gratuita generosa en Google Cloud, pero aún así debes tener una cuenta de facturación)
- Disponer de los permisos adecuados dentro de Google Cloud.
- Tener las APIs de BigQuery y Vertex AI habilitadas.
- Haber creado una conexión en tu dataset hacia Vertex AI.
Puedes consultar nuestro post de introducción para aprender cómo hacer todos estos pasos previos.
Crear modelos de IA generativa con CREATE MODEL
El primer paso una vez tienes todo habilitado, para usar GENERATE_TEXT es crear un modelo de IA generativa en BigQuery. Para ello, usaremos la sentencia CREATE MODEL. A continuación, te mostramos un ejemplo práctico con Gemini 1.5 Flash versión 2:
SQL:
CREATE OR REPLACE MODEL `{{tu-projecto}}.{{tu-dataset}}.gemini_15_flash`
REMOTE WITH CONNECTION `projects/{{tu-projecto}}/locations/{{zona-geografica}}/connections/{{nombre-conexion}}` -- Cópiala de los datos de conexión a vertex ai
OPTIONS (
ENDPOINT = 'gemini-1.5-flash-002'
);
Reemplaza {{tu-projecto}}
, {{tu-dataset}}
, {{zona-geografica}}
y {{nombre-conexion}}
con tus propios datos.
El ENDPOINT es el id del modelo de IA que quieres usar. Fundamentalmente puedes importar modelos de gemini, de claude y modelos antiguos u open source. Salvo excepciones querras usar casi siempre Gemini (o para algunos casos Claude de Anthropic).
Estos son sus ID más avanzados de Google Gemini (a la fecha de escribir este post):
gemini-1.5-flash-002 : Gemini 1.5 versión Flash.
gemini-1.5-pro-002 : Google Gemini 1.5 en la versión Pro.
gemini-2.0-flash-exp : Gemini 2.0 versión flash, experimental.
Y estos son los de Claude:
claude-3-5-sonnet-v2@20241022
claude-3-5-haiku@20241022
Para crear un modelo de Gemini no tienes que hacer nada especial. Solo con disponer de la conexión a Vertex AI ya funcionará. Sin emabrgo para crear modelos de Claude deberás habilitarlos en Vertex AI antes de usarlos, lo que implica rellenar formularios y cosas así.
Puedes consultar la documentación de Google para obtener más información sobre cómo crear modelos para LLMs.
Una vez creado el modelo, podemos validar que funciona correctamente con un prompt simple. Para ello, necesitamos una tabla con un campo llamado «prompt» que contenga el texto que queremos enviar al modelo de lenguaje.
En este caso, pediremos al modelo que haga una rima sobre «BigQuery» y nos la muestre. Para ello, ya le preparamos una tabla dentro de un WITH (una función que genera vistas temporales en la propia query)
SQL:
WITH
DatosDeEntrada AS (
-- Esta es una tabla que nos inventamos sobre la marcha para validar que todo funciona
SELECT 'Haz una rima de 2 frases divertida sobre BigQuery' AS prompt
)
SELECT
*
FROM ML.GENERATE_TEXT(
MODEL `{{tu-proyecto}}.{{tu-dataset}}.gemini_15_flash`,
TABLE DatosDeEntrada
)
Si todo ha ido bien, el modelo debería devolvernos una rima. El resultado lo encontraremos en el campo «ml_generate_text_result» en formato JSON. Por ejemplo:
{ "candidates": [ { "content": { "parts": [ { "text": "BigQuery, la herramienta que más mola,\npara analizar datos sin que te explote la chola." } ] }, "finish_reason": "STOP" } ], "model_version": "gemini-1.5-flash-002", "usage_metadata": { "candidates_token_count": 20, "prompt_token_count": 10 } }
¡Enhorabuena! Ya has creado tu primer modelo de IA generativa en BigQuery y has hecho tu primera consulta. ¿Verdad que no ha sido nada dificil?
Nota: si has obtenido errores lo más seguro es que se deban a tu conexión o los accesos de las APIs. Repasa nuestro post inicial sobre BigQuery ML para hacerlo funcionar correctamente.
Ahora, vamos a profundizar un poco más en la sentencia CREATE MODEL.
Profundizando en las posibilidades de CREATE MODEL
La sentencia CREATE MODEL te permite especificar diferentes opciones para configurar tu modelo de IA generativa. Algunas de las opciones más importantes son:
- ENDPOINT: especifica el nombre del modelo que quieres usar en Vertex AI. Puedes consultar la documentación de Google para obtener una lista de los modelos disponibles. Por ejemplo, para usar Gemini 2.0 experimental, usarías
ENDPOINT = 'gemini-2.0-flash-exp'
. Si quieres usar un modelo de la familia Claude, como Claude 1.3, el endpoint seríaENDPOINT = 'cloud-1.3'
- CONNECTION: especifica la conexión entre BigQuery y Vertex AI que quieres usar. Asegúrate de que la conexión esté correctamente configurada y que tengas los permisos necesarios para usarla.
Es importante tener en cuenta que, para usar los modelos de Claude en Vertex AI, debes activarlos previamente en tu proyecto. Puedes hacerlo desde la consola de Google Cloud.
Create Model debe lanzarse siempre ANTES de intentar generar nada con IA. Sin los modelos creados BigQuery no podrá hacer nada. Así que lo suyo es primero decidir cual va a ser tu colección de modelos en bigQuery y generar un setup de modelos.
Otro detalle importante son las regiones de los datos:
Aunque en BigQuery las cosas suceden «en la nube de Google» la realidad es que esta nube necesita maquinas para funcionar. Estas máquinas están situadas en distintos puntos de la geografía mundial. El dónde ubiques tus datos y tus recursos es lo que se llama «regiones».
BigQuery tiene fundamentalmente 2 tipos de regiones: Normales y Multiregión (que permiten en una zona del mundo replicar los datos en varios datacenters y por ello son algo más caras).
Los modelos y conexiones con Vertex AI, también siguen este criterio de las regiones con 2 añadidos que debes tener en cuenta:
- Para usar un modelo sobre tus datos, tanto los datos como el modelo que crees deben estar en la misma región.
- Los modelos de IA aun son algo un poco nuevo, que no está en todas las regiones del mundo disponible. Por ello Google nos recomienda siempre usar o la Multiregión de USA o la Multiregión de Europa. Si usas regiones puntuales puedes encontrarte con que el modelo no existe y en particular Claude casi hay que usarlo si o si en USA.
Opciones avanzadas al crear modelos de IA:
Si lees las documentaciones de Google verás que al crear modelos de IA hay muchas más opciones que las que comentamos en este post. Estas se dedican al tema del fine-tunning: Crear el modelo ya preentrenado con datos para que la IA se transforme más en una función de predicción que en una IA generativa. También podemos hablitar desde ahí el Grounding (llamar a los datos de Google antes de dar una respuesta). Todo esto son opciones avanzandas que veremos en futuros post y en este solo tratamos la generación con la IA pura, por eso no comentamos todas estas opciones.
Aprendiendo más sobre la función ML.GENERATE_TEXT()
La función ML.GENERATE_TEXT es la que nos permite generar texto a partir de un modelo de IA generativa. Es importante tener en cuenta que GENERATE_TEXT es una función de tabla (FROM), no una función escalar. Esto significa que se aplica a todas las filas de una tabla y devuelve una tabla como resultado. Por lo tanto, no podemos usarla directamente en el SELECT, sino que debemos usarla en el FROM dándole como entrada toda una tabla de datos (si, incluso cuando solo queremos generar un único registro, debemos crear una tabla con ese único registro).
La tabla resultante de GENERATE_TEXT incluye las mismas columnas que le insertamos a la función, a las que se suman varias columnas nuevas. En especial destacamos estas:
- ml_generate_text_result: una celda JSON que contiene la respuesta del modelo de lenguaje, incluyendo los textos generados, la versión del modelo, información de uso, etc.
- ml_generate_text_status: una celda JSON que contiene información sobre el estado de la petición, como si ha habido algún error o si se ha completado correctamente.
Para extraer la información relevante del JSON ml_generate_text_result
, debemos usar las funciones JSON_VALUE
y JSON_QUERY
.
¿Qué? ¿JSON y luego funciones JSON?
Sí si, yo te había prometido que esto era muy simple y luego resulta que tu solo quieres un dato generado con IA y las funciones de BigQuery te devuelven datos estructurados y organizados de forma muy técnica.
Esto es cierto, pero tiene solución. Para ello solo tenemos que saber cómo encontrar lo que buscabamos. ¿Que voy a hacer? Pues darte una query ya hecha que hace ese trabajo por ti. A continuación, te muestro una query que extrae el texto generado, la razón por la que el modelo terminó de generar texto, la versión del modelo, el número de tokens de entrada y el número de tokens de salida. Usa esta query como base para construir las tuyas y verás que todo se simplifica.
SQL BASE PARA TRABJAR CON GENERATE_TEXT DE FORMA SENCILLA:
-- Descomenta la siguiente línea indicando tus datos de proyecto, dataset y nombre de tabla para crear una tabla en tu BigQuery con el resultado.
-- CREATE TABLE `{{proyect_id}}.{{dataset}}.{{nombre_de_tabla_nueva}}` AS
WITH prep_data AS (
-- Genera aquí tu query de datos de entrada. El campo "prompt" de cada fila será el que se envíe para generar la petición.
-- El resultado de ML.GENERATE_TEXT será esta query + las columnas extra que se generen.
-- En este ejemplo inventamos datos controlados, pero en la práctica harás una query a tus tablas.
SELECT 'Haz una rima de 2 frases divertida sobre BigQuery' AS prompt
UNION ALL
SELECT 'Haz una rima de 2 frases divertida sobre BigQuery' AS prompt
)
SELECT
* EXCEPT (ml_generate_text_result, ml_generate_text_status), -- Todos tus datos
JSON_VALUE(ml_generate_text_result, '$.candidates[0].content.parts[0].text') AS generated_text, -- Texto generado por la IA
JSON_VALUE(ml_generate_text_result, '$.candidates[0].finish_reason') AS finish_reason, -- Motivo por el que la IA dejó de escribir
JSON_VALUE(ml_generate_text_result, '$.model_version') AS model, -- Modelo de IA usado
CAST(JSON_VALUE(ml_generate_text_result, '$.usage_metadata.prompt_token_count') AS INT64) AS input_tokens, -- Tokens de entrada que se te van a facturar
CAST(JSON_VALUE(ml_generate_text_result, '$.usage_metadata.candidates_token_count') AS INT64) AS output_tokens -- Tokens de salida que se te van a facturar
FROM
ML.GENERATE_TEXT(
MODEL `{{tu-projecto}}.{{tu-dataset}}.gemini_15_flash`, -- Modelo que ya has generado
TABLE prep_data,
STRUCT(
0.9 AS temperature,
100 AS max_output_tokens
));
Esta query también incluye información sobre el coste de la petición, que se calcula en función del número de tokens de entrada y salida. Recuerda que los tokens son las unidades en las que se divide el texto para procesarlo con la IA. Cuanto más largo sea el prompt y la respuesta, más tokens se usarán y mayor será el coste.
Ejemplos de uso de GENERATE_TEXT
A continuación, te mostramos algunos ejemplos de cómo usar la función GENERATE_TEXT para generar diferentes tipos de contenido:
- Tabla predefinida en Google Sheets con prompts: Puedes crear una tabla en Google Sheets o en Google Drive con una columna llamada «prompt» que contenga los prompts que quieres enviar al modelo de lenguaje. Luego, puedes
Sí BigQuery te permite usar tablas que tengas en Google Drive o Workspace como fuente de datos. Al importar estas tablas o archivos a BigQuery y usarla como entrada de la función GENERATE_TEXT podrás preparar cientos de prompts con antelación y usarlos de forma masiva. - Prompt variable a partir de datos de una tabla: Puedes usar funciones como CONCAT y REGEX_EXTRACT para crear prompts variables a partir de los datos de una tabla. Por ejemplo, puedes usar el nombre de un producto y su categoría para generar una descripción personalizada. Imagina que tienes una tabla con información de productos. Podrías generar un prompt que diga «Genera una descripción atractiva para el producto [nombre del producto] de la categoría [categoría del producto]».
- Ejemplos con datos de diferentes tipos: Puedes usar GENERATE_TEXT con datos de diferentes tipos, como texto, números, fechas, etc. Por ejemplo, puedes usar la ubicación de un restaurante y su tipo de cocina para generar una reseña. Podrías generar un prompt que diga «Escribe una reseña corta para un restaurante [tipo de cocina] en [ubicación]».
Veamos un ejemplo concreto de cómo generar descripciones de productos a partir de una tabla con información de productos. Supongamos que tenemos una tabla llamada «productos» con las columnas «nombre», «categoria» y «precio». Podemos generar descripciones personalizadas para cada producto con la siguiente query:
SQL:
SELECT
p.nombre,
p.categoria,
p.precio,
JSON_VALUE(ml_generate_text_result, '$.candidates[0].content.parts[0].text') AS descripcion
FROM
ML.GENERATE_TEXT(
MODEL `{{tu-proyecto}}.{{tu-dataset}}.gemini_15_flash`,
(
SELECT
CONCAT('Genera una descripción atractiva para el producto ', nombre, ' de la categoría ', categoria, ' que cuesta ', CAST(precio as STRING), ' euros.') AS prompt
FROM
`{{tu-proyecto}}.{{tu-dataset}}.productos`
),
STRUCT(
0.7 AS temperature,
100 AS max_output_tokens
)
)
En este ejemplo (que deberías mejorar, no uses el prompt tal cual u obtendrás resultados bastante mediocres), estamos usando la función CONCAT para construir un prompt personalizado para cada producto, incluyendo su nombre, categoría y precio. El resultado de la query será una tabla con las columnas «nombre», «categoria», «precio» y «descripcion», donde la columna «descripcion» contendrá el texto generado por el modelo de lenguaje.
Modo avanzado: Declaración de funciones Javascript dentro de BigQuery
Para generar prompts más complejos, puedes usar la declaración de funciones en BigQuery. Esto te permite crear funciones personalizadas que puedes usar dentro de la función GENERATE_TEXT. Por ejemplo, puedes crear una función en JavaScript que genere prompts con condicionales y bucles.
Aquí te mostramos un ejemplo de una función en JavaScript que genera prompts para diferentes tipos de productos:
JavaScript:
CREATE OR REPLACE FUNCTION `{{tu-projecto}}.{{tu-dataset}}.generar_prompt`(
nombre_producto STRING,
categoria_producto STRING
)
RETURNS STRING
LANGUAGE js AS """
if (categoria_producto === 'electrónica') {
return `Genera una descripción detallada del producto ${nombre_producto}, incluyendo sus especificaciones técnicas y sus ventajas.`;
} else if (categoria_producto === 'moda') {
return `Genera una descripción atractiva del producto ${nombre_producto}, destacando su estilo, diseño y materiales.`;
} else {
return `Genera una descripción general del producto ${nombre_producto}.`;
}
""";
Puedes usar esta función dentro de la función GENERATE_TEXT para generar prompts personalizados para cada producto en tu catálogo. Por ejemplo:
SQL:
SELECT
p.nombre,
p.categoria,
JSON_VALUE(ml_generate_text_result, '$.candidates[0].content.parts[0].text') AS descripcion
FROM
ML.GENERATE_TEXT(
MODEL `{{tu-proyecto}}.{{tu-dataset}}.gemini_15_flash`,
(
SELECT
`{{tu-proyecto}}.{{tu-dataset}}.generar_prompt`(nombre, categoria) AS prompt
FROM
`{{tu-proyecto}}.{{tu-dataset}}.productos`
),
STRUCT(
0.7 AS temperature,
100 AS max_output_tokens
)
)
En este ejemplo, la función `generar_prompt` se encarga de generar un prompt diferente para cada producto, dependiendo de su categoría. Esto te permite generar descripciones más específicas y relevantes para cada tipo de producto.
Por supuesto esto complica tus queries bastante. Hablabamos de que no tendrías que usar Python, ni R, ni Javascript y ahora resulta que te enseño a usar Javascript para darle formato a los prompts. Bueno, si, es es que la programación nos mejora el control de todo. Poder, puedes usarla, pero en muchos casos no será necesaria y desde luego con SQL siempre podrás hacerlo lo mimos que con JS solo que seguramente complicando un pelín más las queries.
Un punto importante: El control de costes en BigQuery ML con IA generativa
Aunque BigQuery ML con IA generativa ofrece un sinfín de posibilidades, es importante tener en cuenta los costes asociados a su uso. Recuerda que BigQuery es un servicio de pago por uso, y cada consulta que realizas tiene un coste asociado. Además, el uso de la IA generativa, como los modelos Gemini y Claude, también tiene un coste adicional.
Para ayudarte a controlar los costes, te ofrecemos algunas recomendaciones:
1. Prueba las peticiones de forma controlada
Antes de lanzar una consulta masiva con IA generativa, es recomendable que pruebes las peticiones de forma controlada. Empieza con un pequeño conjunto de datos y analiza los resultados. Asegúrate de que los prompts que estás utilizando generan las respuestas que esperas y que el modelo de lenguaje que has elegido es el adecuado para tu tarea.
Una vez que estés satisfecho con los resultados, puedes aumentar gradualmente el volumen de datos. De esta forma, podrás controlar los costes y evitar sorpresas desagradables en tu factura.
2. Usa CREATE TABLE AS para almacenar los resultados
Si vas a utilizar los resultados de la IA generativa en varias consultas, es recomendable que los almacenes en una tabla. Para ello, puedes usar la sentencia CREATE TABLE AS. De esta forma, evitarás tener que volver a generar los resultados cada vez que ejecutes una consulta, lo que te permitirá ahorrar costes.
Por ejemplo, si has generado descripciones de productos con la IA generativa, puedes almacenarlas en una tabla llamada «descripciones_productos». Luego, puedes usar esta tabla en otras consultas, como por ejemplo, para mostrar las descripciones en tu sitio web o para analizar el sentimiento de las descripciones.
3. Optimiza las queries
Asegúrate de que las queries que utilizas con la IA generativa están optimizadas. Utiliza las funciones y los operadores adecuados para evitar procesar más datos de los necesarios. También puedes usar la caché de BigQuery para acelerar la ejecución de las consultas.
4. Monitoriza los costes
Monitoriza los costes de BigQuery ML con IA generativa de forma regular. Puedes usar la consola de Google Cloud para ver el consumo de recursos y los costes asociados. También puedes configurar alertas para que te notifiquen si se superan determinados umbrales de gasto.
Siguiendo estas recomendaciones, podrás controlar los costes de BigQuery ML con IA generativa y aprovechar al máximo esta potente tecnología sin gastar más de lo necesario.
Ya sabemos usar la IA generativa, vamos a ver casos de uso en tu negocio de todo esto
La IA generativa con BigQuery ML tiene un sinfín de aplicaciones en el mundo empresarial. A continuación, te mostramos algunos ejemplos de cómo puedes usar esta tecnología para mejorar tus procesos y obtener información valiosa de tus datos:
Analizar comentarios de productos
Puedes usar BigQuery ML para analizar los comentarios de tus clientes y obtener información valiosa sobre sus opiniones y preferencias. Por ejemplo, puedes importar los comentarios a BigQuery y usar la función GENERATE_TEXT para analizar el sentimiento, el tema y la credibilidad de cada comentario. Esto te permite entender mejor qué piensan tus clientes de tus productos y servicios, y tomar decisiones informadas para mejorarlos.
Aquí te mostramos un ejemplo de query que analiza el sentimiento de los comentarios de un producto:
SQL:
SELECT
comentario,
JSON_VALUE(ml_generate_text_result, '$.candidates[0].content.parts[0].text') AS sentimiento
FROM
ML.GENERATE_TEXT(
MODEL `{{tu-proyecto}}.{{tu-dataset}}.gemini_15_flash`,
(
SELECT
CONCAT('Analiza el sentimiento del siguiente comentario. Para ello generame un JSON como respuesta que me de 3 varaibles: "score" (de 1 a 10 el sentimiento del comentario), "topic" (el tema principal tratado", "trust" (de 1 a 10 lo creible que es este usuario). Ejemplo de respuesta que quiero que me ofrezcas: "{ "score" : 7, "topic" : "precio", "trust": 8 }\nEl comentario a analizar: "', comentario, '"') AS prompt
FROM
`{{tu-proyecto}}.{{tu-dataset}}.comentarios_productos`
),
STRUCT(
0.5 AS temperature,
10 AS max_output_tokens
)
)
En este ejemplo, estamos usando la función CONCAT para construir un prompt que pide al modelo de lenguaje que analice el sentimiento de cada comentario. El resultado de la query será una tabla con las columnas «comentario» y «sentimiento», donde la columna «sentimiento» contendrá el análisis del sentimiento realizado por el modelo de lenguaje (por ejemplo, «positivo», «negativo» o «neutro»).
Además del análisis de sentimiento, puedes usar la IA generativa para:
- Identificar los temas principales de los comentarios: Puedes pedirle al modelo que extraiga los temas más relevantes de cada comentario, como por ejemplo, «precio», «calidad», «diseño», etc. Esto te permite agrupar los comentarios por temas y entender mejor las preocupaciones de tus clientes.
- Evaluar la credibilidad de los comentarios: Puedes pedirle al modelo que evalúe la credibilidad de cada comentario, identificando posibles comentarios falsos o spam. Esto te ayuda a filtrar la información y a centrarte en los comentarios más relevantes.
- Resumir los comentarios: Puedes pedirle al modelo que genere un resumen de los comentarios de un producto, destacando los puntos más importantes. Esto te permite obtener una visión general de la opinión de tus clientes sin tener que leer todos los comentarios individualmente.
Optimizar descripciones de productos
Puedes usar BigQuery ML para generar descripciones de productos atractivas y optimizadas para SEO. Para ello, puedes usar la función GENERATE_TEXT con prompts que incluyan información relevante sobre el producto, como su nombre, categoría, características y beneficios. También puedes incluir palabras clave relevantes para mejorar el posicionamiento en buscadores.
Aquí te mostramos un ejemplo de prompt (básico) que puedes usar para generar descripciones de productos:
Genera una descripción atractiva y optimizada para SEO para el producto [nombre del producto] de la categoría [categoría del producto]. Incluye las siguientes características: [lista de características]. Destaca los siguientes beneficios: [lista de beneficios]. Usa las siguientes palabras clave: [lista de palabras clave].
Al usar la IA generativa para generar descripciones de productos, puedes:
- Ahorrar tiempo y recursos: La IA puede generar descripciones de forma rápida y eficiente, liberando a tu equipo de marketing para que se centre en otras tareas.
- Mejorar la calidad de las descripciones: La IA puede generar descripciones más atractivas y persuasivas, lo que puede aumentar las ventas.
- Optimizar las descripciones para SEO: La IA puede incluir palabras clave relevantes en las descripciones, lo que puede mejorar el posicionamiento en buscadores.
Generar FAQs personalizadas
Puedes usar BigQuery ML para generar FAQs (preguntas frecuentes) personalizadas para tus clientes. Para ello, puedes usar la función GENERATE_TEXT con prompts que incluyan las preguntas más frecuentes de tus clientes y las respuestas correspondientes. También puedes usar la IA para generar preguntas frecuentes a partir de un conjunto de documentos o de una base de conocimiento.
Aquí te mostramos un ejemplo (básico) de prompt que puedes usar para generar FAQs:
Genera una lista de preguntas frecuentes sobre el producto [nombre del producto]. Incluye preguntas sobre las siguientes características: [lista de características]. Incluye preguntas sobre los siguientes beneficios: [lista de beneficios].
Al usar la IA generativa para generar FAQs, puedes:
- Mejorar la experiencia del cliente: Las FAQs personalizadas ayudan a tus clientes a encontrar la información que necesitan de forma rápida y sencilla.
- Reducir la carga de trabajo de tu equipo de atención al cliente: Las FAQs pueden responder a las preguntas más frecuentes de tus clientes, liberando a tu equipo para que se centre en las consultas más complejas.
- Mejorar el SEO de tu sitio web: Las FAQs pueden incluir palabras clave relevantes, lo que puede mejorar el posicionamiento en buscadores.
Analizar reseñas y calificaciones
Puedes usar BigQuery ML para analizar las reseñas y calificaciones de tus productos y obtener información valiosa sobre la satisfacción de tus clientes. Puedes usar la IA generativa para:
- Identificar los aspectos positivos y negativos de tus productos: Puedes pedirle al modelo que analice las reseñas y extraiga los aspectos que más gustan y los que menos gustan a tus clientes.
- Agrupar las reseñas por temas: Puedes pedirle al modelo que agrupe las reseñas por temas, como por ejemplo, «precio», «calidad», «diseño», etc. Esto te permite entender mejor las opiniones de tus clientes sobre cada aspecto de tus productos.
- Generar resúmenes de las reseñas: Puedes pedirle al modelo que genere un resumen de las reseñas de un producto, destacando los puntos más importantes. Esto te permite obtener una visión general de la opinión de tus clientes sin tener que leer todas las reseñas individualmente.
Generar reportes de rendimiento de campañas
Puedes usar BigQuery ML para generar reportes de rendimiento de campañas de marketing de forma automatizada. Puedes usar la IA generativa para:
- Generar resúmenes de los resultados de la campaña: Puedes pedirle al modelo que genere un resumen de los resultados de la campaña, incluyendo las métricas más importantes, como el número de impresiones, clics, conversiones, etc.
- Analizar el rendimiento de la campaña por segmentos: Puedes pedirle al modelo que analice el rendimiento de la campaña por segmentos, como por ejemplo, por ubicación geográfica, edad, género, etc. Esto te permite entender mejor qué segmentos de tu audiencia responden mejor a tus campañas.
- Generar recomendaciones para futuras campañas: Puedes pedirle al modelo que genere recomendaciones para futuras campañas, basándose en los resultados de la campaña actual. Esto te ayuda a optimizar tus campañas y obtener mejores resultados.
Autoclusterizar keywords en SEO/SEM
Puedes usar BigQuery ML para autoclusterizar keywords (palabras clave) en SEO/SEM. Esto te permite agrupar palabras clave similares y crear campañas de marketing más efectivas. Puedes usar la IA generativa para:
- Identificar grupos de palabras clave relevantes: Puedes pedirle al modelo que identifique grupos de palabras clave relevantes para tu negocio. Esto te ayuda a crear campañas de marketing más específicas y a llegar a la audiencia adecuada.
- Analizar la competencia para cada grupo de palabras clave: Puedes pedirle al modelo que analice la competencia para cada grupo de palabras clave. Esto te ayuda a identificar las palabras clave más competitivas y a enfocar tus esfuerzos en las que tienen más potencial.
- Generar sugerencias de palabras clave: Puedes pedirle al modelo que genere sugerencias de palabras clave relevantes para tu negocio. Esto te ayuda a ampliar tu lista de palabras clave y a encontrar nuevas oportunidades de marketing.
Autoclasificar datos con múltiples variables
Puedes usar BigQuery ML para autoclasificar datos con múltiples variables. Esto te permite organizar tus datos de forma más eficiente y descubrir patrones ocultos. Puedes usar la IA generativa para:
- Clasificar clientes por su comportamiento de compra: Puedes pedirle al modelo que clasifique a tus clientes por su comportamiento de compra, identificando diferentes segmentos de clientes con necesidades y preferencias distintas.
- Clasificar productos por su popularidad: Puedes pedirle al modelo que clasifique tus productos por su popularidad, identificando los productos más vendidos y los que tienen más potencial.
- Clasificar documentos por su contenido: Puedes pedirle al modelo que clasifique tus documentos por su contenido, identificando diferentes categorías de documentos.
Autotraducir y homogeneizar textos
Puedes usar BigQuery ML para autotraducir textos de forma masiva. Esto te permite traducir grandes volúmenes de texto de forma rápida y sencilla, sin necesidad de usar servicios externos. Puedes usar la IA generativa para:
- Traducir la documentación de tu empresa: Puedes traducir la documentación de tu empresa a diferentes idiomas para llegar a un público más amplio.
- Traducir el contenido de tu sitio web: Puedes traducir el contenido de tu sitio web a diferentes idiomas para atraer a visitantes de todo el mundo.
- Traducir las comunicaciones con tus clientes: Puedes traducir las comunicaciones con tus clientes a su idioma nativo para mejorar la experiencia del cliente.
Clasificar contenido a partir de URLs
Puedes usar BigQuery ML para clasificar contenido a partir de URLs. Esto te permite organizar el contenido de tu sitio web o de otras fuentes de forma más eficiente. Puedes usar la IA generativa para:
- Clasificar las páginas de tu sitio web por categorías: Puedes pedirle al modelo que clasifique las páginas de tu sitio web por categorías, como por ejemplo, «productos», «servicios», «blog», etc.
- Identificar el tema principal de una página web: Puedes pedirle al modelo que identifique el tema principal de una página web a partir de su URL. Esto te permite clasificar el contenido de forma más precisa.
- Filtrar contenido no deseado: Puedes pedirle al modelo que filtre contenido no deseado, como por ejemplo, spam o contenido para adultos. Esto te ayuda a mantener la calidad de tu sitio web o de tus fuentes de información.
Generar tablas en Markdown con funciones JavaScript
Puedes usar BigQuery ML para generar tablas en Markdown con funciones JavaScript. Esto te permite generar contenido formateado de forma automática. Puedes usar la IA generativa para:
- Generar tablas de datos a partir de consultas SQL: Puedes pedirle al modelo que genere una tabla en Markdown a partir de los resultados de una consulta SQL. Esto te permite presentar la información de forma más clara y organizada.
- Generar tablas de comparación de productos: Puedes pedirle al modelo que genere una tabla de comparación de productos en Markdown, incluyendo las características, beneficios y precios de cada producto.
- Generar tablas de resumen de datos: Puedes pedirle al modelo que genere una tabla de resumen de datos en Markdown, incluyendo las métricas más importantes y los puntos clave.
Para ello, puedes crear una función en JavaScript que genere el código Markdown de la tabla. Luego, puedes usar esta función dentro de la función GENERATE_TEXT para generar el contenido formateado.
Adaptar BigQuery ML a las necesidades de cada empresa
Las posibilidades de BigQuery ML con IA generativa son prácticamente infinitas. Puedes adaptar esta tecnología a las necesidades específicas de tu empresa, encontrando nuevas formas de automatizar tareas, generar contenido y obtener información valiosa de tus datos. Aquí te mostramos algunas ideas adicionales:
- Generación de contenido para redes sociales: Puedes usar la IA generativa para generar contenido creativo para tus redes sociales, como publicaciones de texto, pies de foto para imágenes y respuestas a comentarios.
- Generación de código: Puedes usar la IA generativa para generar código en diferentes lenguajes de programación. Esto te permite automatizar tareas de desarrollo y acelerar el proceso de creación de software.
- Análisis de datos de series temporales: Puedes usar la IA generativa para analizar datos de series temporales y predecir tendencias futuras. Esto te permite tomar decisiones informadas sobre tu negocio.
- Generación de contenido educativo: Puedes usar la IA generativa para generar contenido educativo, como resúmenes de libros, explicaciones de conceptos complejos y ejercicios interactivos.
Conclusión
Durante todo el post hemos estado explorando el potencial de aplicar la IA generativa con BigQuery ML. Hemos visto cómo esta tecnología te permite automatizar partes del análiss, generar contenido de forma masiva y obtener información valiosa de tus datos. BigQuery ML te ofrece una forma sencilla y escalable de acceder a la IA generativa, sin necesidad de salir de BigQuery.
Las ventajas son innegables: En el mismo sitio que guardas y preparas tus tus datos ahora puedes automatizar su paso por una herramienta tan versatil como Gemini o Claude. Te he ido dando distintos ejemplos pero debo admitir que solo he arañado la superficie de lo que podemos llegar a hacer. Me queda animarte a explorar las posibilidades de BigQuery ML en tu negocio y a descubrir cómo llegar a sitios que antes te quedaban lejos o te resultaban demasiado esfuerzo.
Si tienes dudas o preguntas. que si no las tienes ahora mismo, ya las tendrás, te invito a que siguas leyendo los posts que publicaremos. Por que esto no se va a quedar aquí. Hemos abierto una puerta y vamos a hacer entrar muchas, muchas cosas. Y por supuesto, si crees que necesitas nuestra ayuda en tu proyecto IA, no dudes en contactarnos.