SQL Query Constructor
SQL Query Constructor convierte una petición escrita en lenguaje normal, como «clientes de Valencia que compraron el mes pasado», en una consulta SQL lista para ejecutar sobre tu base de datos. Usa un modelo de IA y la información de la base de datos conectada (sus tablas, sus columnas y ejemplos de su contenido) para elegir las columnas adecuadas.
El componente solo escribe la consulta: no la ejecuta. Para obtener los datos, pasa la consulta a un componente que la ejecute, como SQL Executor, y si quieres una explicación en lenguaje normal del resultado, añade después Explain SQL results.
Cuándo usarlo
- Dejar que el equipo comercial consulte la base de datos de clientes escribiendo preguntas, sin saber SQL.
- Montar un asistente que responda a preguntas sobre pedidos, stock o facturación con datos reales.
- Generar consultas para informes a partir de peticiones escritas por correo o por chat.
Configuración
| Campo | Qué hace |
|---|---|
| Input request (obligatorio) | La petición en lenguaje normal, por ejemplo «¿Cuántos pedidos ha hecho Talleres Ruiz este año?». Puede llegar de un chat, de un formulario o de otro componente. |
| Top K (obligatorio) | El número máximo de resultados que pide la consulta cuando la petición no indica una cantidad. Tiene que ser mayor que 0. |
| Conexión | Qué conectar |
|---|---|
| Database | La base de datos sobre la que se escribe la consulta: conecta la salida SQLDatabase del componente SQLDatabase. |
| LLM (obligatorio) | Un componente de modelo de IA, por ejemplo OpenAI. |
Qué hace con la petición
- Comprueba que solo pide leer datos. Si la petición pide añadir, modificar o borrar información, el componente se detiene con un error y no escribe ninguna consulta.
- Ajusta el idioma. Si la petición está en un idioma distinto al del contenido de la base de datos, la traduce antes, para que las búsquedas por texto encuentren coincidencias.
- Relaciona las palabras importantes con las columnas donde es probable encontrar esa información.
- Escribe la consulta, la revisa y devuelve la versión final.
Resultado
La salida Text devuelve la consulta SQL como texto. Conéctala al campo de consulta de un componente que la ejecute, por ejemplo Query to run de SQL Executor.
Ejemplo
Distribuciones Norte quiere que su equipo de ventas consulte el histórico de pedidos desde un chat:
- Un SQLDatabase con los datos de conexión de la base de pedidos se conecta a Database, y un modelo de IA a LLM.
- El mensaje del chat llega a Input request: «Muéstrame los diez últimos pedidos de Talleres Ruiz». Top K está en 20.
- La consulta que sale por Text pasa a SQL Executor, y su resultado a Explain SQL results, que responde en el chat con una explicación clara.
Buenas prácticas
- Conecta la base de datos con un usuario que solo tenga permiso de lectura. La comprobación de que la petición solo lee datos la hace el modelo de IA y conviene tener esa segunda protección.
- Usa nombres de columna claros en tu base de datos: el componente elige las columnas a partir de sus nombres y de su contenido.
- Revisa las consultas generadas las primeras veces, sobre todo con peticiones complejas.
Componentes relacionados
- SQLDatabase: la conexión a la base de datos que necesita Database.
- SQL Executor: ejecuta la consulta.
- Explain SQL results: explica el resultado en lenguaje normal.