Volver al blog

Vertex AI Search vs Text-to-SQL: Un Estudio Comparativo para Búsqueda en Lenguaje Natural

February 15, 2025·4 min read
ArquitecturaIAGCPBigQuery

Cuando trabajamos con grandes volúmenes de datos corporativos, una de las demandas más recurrentes es permitir que usuarios no técnicos realicen consultas utilizando lenguaje natural. Pero, ¿cuál es el mejor enfoque para implementar esto?

En este artículo, comparto los resultados de un estudio técnico que realicé evaluando tres enfoques diferentes para la búsqueda en lenguaje natural sobre datos almacenados en BigQuery.

El Problema

El escenario era claro: teníamos millones de registros en BigQuery (informes de pruebas, Change Requests, KPIs) y los stakeholders necesitaban consultar estos datos sin escribir SQL. La pregunta central era: ¿cómo transformar preguntas en lenguaje natural en resultados precisos y confiables?

Los Tres Enfoques Evaluados

1. Vertex AI Search

Vertex AI Search es la solución administrada de Google para la búsqueda semántica. Indexa datos y permite búsquedas en lenguaje natural con comprensión del contexto.

Pros:

  • Configuración relativamente simple: solo conecte la fuente de datos
  • Comprensión semántica nativa, sin necesidad de ingeniería de prompts compleja
  • Integración directa con datos en BigQuery y Cloud Storage

Contras:

  • Costo elevado para grandes volúmenes de datos
  • Menor control sobre la lógica de clasificación y relevancia
  • La latencia puede ser alta para consultas complejas

2. BigQuery ML con Embeddings

En este enfoque, utilizamos BigQuery ML para generar embeddings de los datos y la consulta del usuario, comparándolos mediante similitud vectorial.

Pros:

  • Los datos permanecen en BigQuery, sin necesidad de moverlos a otro servicio
  • Control total sobre el modelo y los embeddings
  • Costo predecible (basado en el procesamiento de consultas)

Contras:

  • Requiere ingeniería de datos para generar y mantener los embeddings
  • La calidad depende directamente del modelo de embedding elegido
  • Complejidad de implementación significativamente mayor

3. Text-to-SQL con LLM

El enfoque más directo: usar un LLM (como Gemini) para convertir la pregunta del usuario directamente en una consulta SQL.

Pros:

  • Máxima flexibilidad: cualquier pregunta puede convertirse en cualquier consulta
  • Resultado preciso cuando el SQL generado es correcto
  • Experiencia de usuario más cercana a una "conversación"

Contras:

  • Riesgo de alucinación: el LLM puede generar SQL inválido o semánticamente incorrecto
  • Requiere ingeniería de prompts detallada (esquema, ejemplos, validaciones)
  • Necesidad de capas de seguridad para evitar consultas destructivas

Resultados Comparativos

CriterioVertex AI SearchBigQuery MLText-to-SQL
PrecisiónAltaMedia-AltaVariable
CostoAltoMedioBajo-Medio
Complejidad de ConfiguraciónBajaAltaMedia
MantenimientoBajoAltoMedio
FlexibilidadMediaAltaMuy Alta
LatenciaMediaBajaMedia

La Decisión Arquitectónica

Optamos por un enfoque híbrido: Text-to-SQL como capa principal (por flexibilidad y costo), con un mecanismo de validación que verifica el SQL generado contra el esquema real antes de la ejecución.

Para mitigar las alucinaciones, implementamos:

  • Inyección de esquema en el prompt: el LLM recibe el esquema completo de las tablas relevantes
  • Ejemplos few-shot: ejemplos de preguntas y SQLs esperados para guiar al modelo
  • Validación sintáctica: el SQL generado se analiza (parse) antes de ejecutarse
  • Respaldo para búsqueda simple: si el SQL falla en la validación, ofrecemos una búsqueda por palabras clave

Lecciones Aprendidas

  1. No hay bala de plata. Cada enfoque tiene su lugar. Lo importante es comprender los compromisos y elegir en función de los requisitos comerciales.

  2. El costo es una variable arquitectónica. Vertex AI Search lo resuelve con elegancia, pero el costo a escala puede ser prohibitivo. Text-to-SQL es más económico, pero exige inversión en ingeniería de prompts.

  3. La caché es indispensable. Independientemente del enfoque, la implementación de la caché semántica (las consultas similares devuelven resultados almacenados en caché) redujo los costos en más del 60 %.

  4. La validación es tan importante como la generación. En los sistemas basados ​​en IA generativa, la capa de validación y seguridad es lo que separa un prototipo de un producto.


Este estudio se llevó a cabo dentro del contexto de un sistema interno a gran escala. Los números y las compensaciones pueden variar según el volumen de datos y los requisitos específicos de su caso.