Text to SQL utiliza LLMs para traducir lenguaje natural en SQL ejecutable, pero su confiabilidad suele estar por debajo de lo esperado. Hemos movido este blip a Hold para desalentar su uso en flujos de trabajo no supervisados, por ejemplo, al convertir dinámicamente consultas generadas por usuarios cuando el resultado se oculta o se ejecuta de forma automática. En estos casos, los LLMs suelen alucinar debido a una comprensión limitada del esquema o del dominio, lo que puede provocar recuperaciones de datos incorrectas o modificaciones no intencionadas. La naturaleza no determinista de las salidas de los LLM también dificulta depurar y auditar errores. Aconsejamos usar Text to SQL con precaución. Se debe exigir revisión humana de las consultas generadas. Para inteligencia de negocio agéntica, evita el acceso directo a bases de datos y utiliza en su lugar una capa semántica de abstracción de datos gobernada, como Cube o la capa semántica de dbt, o bien una capa de acceso semánticamente rica como GraphQL o MCP.
Texto a SQL es una técnica que convierte consultas escritas en lenguaje natural a consultas SQL que pueden ser ejecutadas en una base de datos. Aunque los grandes modelos de lenguaje (LLM, large language models) pueden entender y transformar el lenguaje natural, la creación de consultas SQL precisas para un esquema propio puede convertirse en una tarea desafiante. Aquí entra Vanna, un marco de trabajo de generación aumentada por recuperación (RAG, retrieval-augmented generation) escrito en Python, de código abierto, para la generación de SQL. Vanna opera en dos pasos: primero se debe crear embeddings usando sentencias del lenguaje de definición de datos (DDL) y consultas SQL de ejemplo para ese esquema, y luego se puede hacer preguntas en lenguaje natural. Aunque Vanna puede funcionar con cualquier LLM, recomendamos evaluar NSQL, un LLM específico de dominio para tareas de conversión de texto a SQL.