Chatear con su base de datos usando IA
· Por AI Compare
Haga preguntas en lenguaje natural y obtenga respuestas de su base de datos SQL, con reglas de seguridad integradas.
Qué va a crear
Una interfaz de chat en la que cualquiera de su equipo puede preguntar cosas como «¿Cuáles fueron nuestros 10 mejores clientes por ingresos el último trimestre?» y obtener la respuesta de su base de datos, sin escribir SQL. Un agente de IA lee el esquema de la base de datos, escribe la consulta SQL, la ejecuta y explica el resultado.
Sigue la plantilla de n8n «Chat with PostgreSQL database»; el mismo enfoque funciona con MySQL, SQLite y otras bases de datos SQL.
Estructura del workflow
| Nodo | Función |
|---|---|
| Chat Trigger | Donde los usuarios hacen sus preguntas |
| AI Agent | Decide qué herramientas llamar |
| OpenAI Chat Model (u otro modelo) | Escribe el SQL y la respuesta final |
| Simple Memory | Contexto entre mensajes («ahora solo para Alemania») |
| Tool: Get DB schema and tables list | Lista las tablas para que el agente sepa qué existe |
| Tool: Get table definition | Columnas y tipos de una tabla concreta |
| Tool: Execute SQL query | Ejecuta la consulta que escribe el agente |
Las herramientas de Postgres son nodos de Postgres usados como herramientas del agente, cada uno con una descripción clara de lo que hace.
La seguridad primero: un usuario de solo lectura
Nunca conecte un agente de IA a su base de datos con una cuenta de administrador. Cree un usuario dedicado con acceso de solo lectura a las tablas que necesita:
CREATE USER ai_reader WITH PASSWORD 'strong-password';
GRANT CONNECT ON DATABASE shop TO ai_reader;
GRANT USAGE ON SCHEMA public TO ai_reader;
GRANT SELECT ON orders, customers, products TO ai_reader;
Mejor aún, apúntelo a una réplica de lectura o a una copia para informes, no a producción.
Consejos para el mensaje de sistema
- «Ejecuta solo consultas SELECT. Nunca modifiques datos.»
- «Revisa siempre el esquema antes de escribir una consulta.»
- «Limita los resultados a 100 filas salvo que el usuario pida más.»
- «Explica la respuesta en lenguaje sencillo y muestra las cifras clave en una tabla.»
- Añada definiciones de negocio: «Ingresos significa
orders.totaldondestatus = 'paid'.»
Mejores respuestas
- Añada comentarios a las tablas y columnas de la base de datos; la herramienta de esquema puede devolverlos.
- Cree vistas para las preguntas habituales (por ejemplo
monthly_revenue) para que el modelo escriba consultas más sencillas. - Registre cada pregunta, el SQL generado y el resultado para revisarlos.
Dónde encaja
- Equipos de operaciones y ventas que esperan a los analistas para obtener cifras sencillas.
- Fundadores que quieren respuestas rápidas de la base de datos de su producto.
Para informes complejos siguen siendo mejores los cuadros de mando; el chat es para preguntas puntuales.
Artículos relacionados
- Chatbot RAG sobre documentos (para texto no estructurado)
- Ejecutar LLM locales con Ollama para mantener los datos totalmente privados


