Bienvenido al Chat with Mysql, un chatbot potente basado en Streamlit que utiliza Groq y una clase auxiliar personalizada para generar y ejecutar consultas SQL en respuesta a entradas en lenguaje natural. Este proyecto está diseñado por los analiticos del area de integración buscando una forma intuitiva de interactuar con grandes conjuntos de datos usando un lenguaje simple y comprensible.
- Interacción en Lenguaje Natural: Escribe tus consultas en lenguaje cotidiano y obtén respuestas basadas en SQL.
- Generación Dinámica de Consultas SQL: Usa Groq para interpretar la intención del usuario y generar consultas SQL precisas.
- Integración con Bases de Datos: Se conecta a una base de datos mysql para recuperar y mostrar resultados.
- Interfaz Gráfica con Streamlit: Una interfaz amigable que facilita la interacción tanto con Groq como con la base de datos.
- Conocimiento del Esquema: Recupera y muestra dinámicamente los esquemas de tablas para mejorar la precisión de las consultas.
- 1. Entrada del Usuario: Acepta consultas en lenguaje natural a través de la interfaz de Streamlit.
- 2. Recuperación del Esquema: Obtiene dinámicamente detalles de los esquemas de tablas para consultas basadas en contexto.
- 3. Generación de Consultas: Groq interpreta la entrada del usuario y genera la consulta SQL correspondiente.
- 4. Ejecución en la Base de Datos: Las consultas se ejecutan en la base de datos Mysql mediante una clase auxiliar personalizada.
- 5. Visualización de Resultados: Los resultados se formatean como un DataFrame y se muestran en la GUI.
https://github.com/LeoR22/ai_chatbot_mysql.git
Seleccionar el proyecto : Moverse al directorio principal
cd ai_chatbot_mysql
python3 -m venv venv
Para Linux/MacOS
source venv/bin/activate
En Windows:
venv\Scripts\activate
pip install -r requirements.txt
GROQ_API_KEY=[tu-clave-de-api-groq]
Inicia la aplicación con el siguiente comando:
streamlit run app.py
Escribe consultas en lenguaje natural, como:
- "Muestra los registros tiene la tabla X."
- "¿Cuál es el esquema de la tabla Y?"
- "Obtén el promedio de usuarios en los últimos tres meses."
El chatbot generará consultas SQL, las ejecutará y mostrará los resultados.
Estructura básica del proyecto:
ai_chatbot_mysql/
│
├── docs/
│ ├── arquitectura.png
├── src/
│ ├── logs/
│ ├── .env
│ ├── app.py
├── .gitignore
├── Readme.md
└── requirements.txt
- Python 3.9+
- Streamlit: GUI interactiva para consultas y visualización de resultados.
- Groq: Motor de comprensión del lenguaje natural para generar consultas SQL.
- Pandas: Procesamiento y formato de datos.
- Conexion MySQL: Conexiona la base de datos para ejecución SQL.
- Dotenv: Gestión de variables de entorno.
https://console.groq.com/
https://groq.com/
https://github.com/groq/groq-api-cookbook
Si deseas contribuir a este proyecto, sigue estos pasos:
- Haz un fork del repositorio.
- Crea una nueva rama (
git checkout -b feature-nueva-funcionalidad
). - Realiza tus cambios y haz commit (
git commit -m 'Agrega nueva funcionalidad'
). - Sube los cambios a la rama (
git push origin feature-nueva-funcionalidad
). - Abre un Pull Request.
Este proyecto está licenciado bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.
Leandro Rivera: [email protected]
Si encuentras útil este proyecto, ¡dale una ⭐ en GitHub! 😊