Un chatbot intelligent qui convertit vos questions en langage naturel en requêtes SQL automatiquement
Ce projet est un chatbot SQL intelligent qui permet de poser des questions en français (ou autre langue naturelle) et d'obtenir automatiquement les requêtes SQL correspondantes ainsi que les résultats de votre base de données.
Exemple d'utilisation :
- "Qui a commandé un iPhone ?"
- Génère automatiquement :
SELECT c.nom, c.prenom FROM clients c JOIN commandes... - Retourne les résultats directement
- Intelligence artificielle : Support de Groq, OpenAI et Anthropic
- Langage naturel : Posez vos questions comme à un humain
- Recherche intelligente : Recherche insensible à la casse (ILIKE)
- Docker Compose : Déploiement en un clic avec tous les services
- PostgreSQL : Base de données robuste et performante
- Frontend intégré : Interface web prête à l'emploi
- Adminer inclus : Interface d'administration de base de données
- Base de données auto-générée : Exemples avec clients, produits, commandes
- API REST rapide : Construite avec FastAPI
- Facilement adaptable : Modifiez pour votre propre schéma de base de données
- Docker et Docker Compose installés
- Un compte chez un des providers LLM (Groq, OpenAI, ou Anthropic)
git clone https://github.com/Garboko/garboko-chatbot.git
cd garboko-chatbotCréez un fichier .env (à partir de .env.exemple) à la racine :
# Provider LLM (choisir un seul)
LLM_PROVIDER=openai
# API Keys (une seule suffit selon votre provider)
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
GROQ_API_KEY=your_groq_api_key_here
# Base de données PostgreSQL
DB_NAME=chatbot_db
DB_USER=chatbot_user
DB_PASSWORD=Chatbot2024Securedocker-compose up -dUne fois lancé, vous pouvez accéder à :
| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost | Interface web du chatbot |
| API Backend | http://localhost:8000 | API REST FastAPI |
| Documentation API | http://localhost:8000/docs | Interface Swagger |
| Adminer | http://localhost:8080 | Administration PostgreSQL |
Connexion Adminer :
- Système : PostgreSQL
- Serveur : postgres
- Utilisateur : chatbot_user
- Mot de passe : Chatbot2024Secure
- Base de données : chatbot_db
Rendez-vous sur http://localhost pour utiliser l'interface graphique du chatbot.
Visitez http://localhost:8000/docs pour l'interface Swagger interactive.