Consultas Basadas en Datos con Respuestas Automáticas
Chatbot que convierte preguntas en lenguaje natural a consultas SQL usando modelos locales de LM Studio. Escribe lo que necesitas saber y obtén resultados directamente desde tu base de datos MySQL.
- Recibe una pregunta en español ("Muéstrame los clientes que más compraron")
- Extrae automáticamente el esquema de tu base de datos
- Usa un modelo de LM Studio (Qwen/OneSQL) para generar SQL
- Ejecuta la consulta de forma segura
- Muestra los resultados en una tabla interactiva
Todo corre localmente — sin enviar datos a APIs externas.
- Python 3.9+
- MySQL Server
- LM Studio con un modelo descargado (ej: Qwen2.5-Coder-7B)
git clone https://github.com/MxguelS/dashboard-sql-ai.git
cd cbdr-qa
pip install -r requirements.txt- Abre
modules/config.pyy completa:
LM_STUDIO_API_URL = "El host local que te da LM"
LM_STUDIO_MODEL = "Qwen2.5-Coder-7B-Instruct" #Modelo que utilice yo-
En LM Studio: carga el modelo y activa el servidor local (Settings → Enable Local Inference Server)
-
Ejecuta la app:
streamlit run app.py- Conecta tu base de datos MySQL (host, usuario, contraseña)
- Conecta LM Studio (botón "Probar conexión")
- Empieza a preguntar
- Por defecto solo permite consultas
SELECT - Bloquea palabras peligrosas (
DROP,TRUNCATE,EXEC) - Puedes habilitar
INSERToALTERmanualmente desde la interfaz
dashboard-sql-ai/
├── app.py # Punto de entrada
├── modules/
│ ├── database.py # Conexión MySQL
│ ├── lm_estudio.py # Generación de SQL con IA
│ ├── esquema_extraccion.py # Extrae estructura de la DB
│ ├── sql_validator.py # Seguridad
│ └── config.py # Configuración
└── ui/
├── barra_lateral.py # Panel de conexiones
└── main_panel.py # Chat principal
- Frontend: Streamlit
- Backend: Python
- Base de datos: MySQL
- IA Local: LM Studio + Qwen
MIT
If you like this project, consider giving it a star :)
