Discuter avec votre base de données grâce à l’IA
· Par AI Compare
Posez vos questions en langage courant et obtenez les réponses de votre base SQL, avec des règles de sécurité intégrées.
Ce que vous allez créer
Une interface de chat où chacun dans votre équipe peut poser des questions comme « Quels ont été nos 10 meilleurs clients en chiffre d’affaires le trimestre dernier ? » et obtenir une réponse issue de votre base de données, sans écrire de SQL. Un agent IA lit le schéma de la base, écrit la requête SQL, l’exécute et explique le résultat.
Il reprend le modèle n8n « Chat with PostgreSQL database » ; la même approche fonctionne avec MySQL, SQLite et d’autres bases SQL.
Structure du workflow
| Nœud | Rôle |
|---|---|
| Chat Trigger | L’endroit où les utilisateurs posent leurs questions |
| AI Agent | Décide quels outils appeler |
| OpenAI Chat Model (ou un autre modèle) | Écrit le SQL et la réponse finale |
| Simple Memory | Contexte sur plusieurs échanges (« maintenant uniquement pour l’Allemagne ») |
| Tool: Get DB schema and tables list | Liste les tables pour que l’agent sache ce qui existe |
| Tool: Get table definition | Colonnes et types d’une table donnée |
| Tool: Execute SQL query | Exécute la requête écrite par l’agent |
Les outils Postgres sont des nœuds Postgres utilisés comme outils de l’agent, chacun avec une description claire de ce qu’il fait.
La sécurité d’abord : un utilisateur en lecture seule
Ne connectez jamais un agent IA à votre base avec un compte administrateur. Créez un utilisateur dédié avec un accès en lecture seule aux tables nécessaires :
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;
Mieux encore, connectez-le à un réplica en lecture ou à une copie dédiée au reporting, pas à la production.
Conseils pour le message système
- « N’exécute que des requêtes SELECT. Ne modifie jamais de données. »
- « Vérifie toujours le schéma avant d’écrire une requête. »
- « Limite les résultats à 100 lignes, sauf si l’utilisateur en demande davantage. »
- « Explique la réponse en langage simple et présente les chiffres clés dans un tableau. »
- Ajoutez des définitions métier : « Le chiffre d’affaires correspond à
orders.totallorsquestatus = 'paid'. »
Obtenir de meilleures réponses
- Ajoutez des commentaires aux tables et colonnes de la base ; l’outil de schéma peut les renvoyer.
- Créez des vues pour les questions fréquentes (par exemple
monthly_revenue) afin que le modèle écrive des requêtes plus simples. - Consignez chaque question, le SQL généré et le résultat pour relecture.
Pour qui
- Les équipes opérations et commerciales qui attendent les analystes pour des chiffres simples.
- Les fondateurs qui veulent des réponses rapides tirées de leur base produit.
Pour un reporting complexe, les tableaux de bord restent préférables ; le chat sert aux questions ponctuelles.
À lire aussi
- Chatbot RAG sur des documents (pour le texte non structuré)
- Faire tourner des LLM locaux avec Ollama pour garder des données entièrement privées


