- Un outil de gestion de bases de données léger, de moins de 20 Mo, mais puissant et convivial
- PostgreSQL, MySQL, SQLite3, MongoDB, Redis, MariaDB, ElasticSearch
- Permet d’interroger et de gérer les données en langage naturel au lieu d’écrire des requêtes SQL complexes : intégration avec Ollama, ChatGPT et Anthropic
- Prise en charge de la virtualisation des tableaux côté frontend
- Visualisation du schéma de la base de données sous forme de graphe
- Modification directe (inline) des données et aperçu des résultats depuis l’interface
- Scratchpad : une interface de requêtes de base de données dans le style de Jupyter Notebook
- Développé en Go, rapide, et facile à installer avec Docker
- Relation avec d’autres outils
- Développé avec l’objectif d’un outil inspiré d’Adminer, renforçant l’UX et la visualisation des données tout en conservant la légèreté et la facilité d’utilisation
- DBeaver offre de nombreuses fonctionnalités mais demande davantage de ressources, tandis que WhoDB est léger, efficace et fonctionne bien même dans de petits environnements
8 commentaires
Le prompt est défini ici : https://github.com/clidey/whodb/blob/main/core/src/common/chat.go Les commandes en langage naturel sont en réalité implémentées à un niveau très simple. Je l’ai connecté à ollama phi4, j’ai configuré une petite base de données et j’ai essayé de lui donner des commandes ; une dizaine ont été correctement exécutées. Je ne sais pas vraiment qui il faut féliciter pour ça.
J’ai essayé la démo, et il y a pas mal de points à améliorer. Il semble qu’il ait encore beaucoup de chemin à parcourir avant de pouvoir se qualifier de puissant.
textareade saisie apparaît beaucoup trop grande, ce qui rend difficile le maintien du flux de saisie. À mon avis, une édition inline serait préférable à une modale.En revoyant la liste des fonctionnalités clés, je vois que l’édition inline est bien mentionnée. Mais je ne vois pas très bien ce que signifie cette édition inline indiquée dans la description du projet.
S'agit-il de donner des commandes en langage naturel via un LLM ?
On ne pourra donc pas l'utiliser sur une vraie base de données...
En général, pour générer du SQL, on utilise la structure des tables, les relations, les descriptions des champs, etc. Donc il est peu probable que mes données soient utilisées pour l'entraînement. Il y a aussi l'information selon laquelle l'API d'OpenAI n'utilise pas les données des requêtes pour l'entraînement. Malgré tout, si cela vous inquiète, vous pouvez sans doute utiliser un LLM local 👏
Ah, après l’avoir essayé, ce n’est donc pas une approche où l’on construit des requêtes 😂 Son utilisation sur une vraie base de production semble vraiment difficile.
Les opérations sensibles, en particulier celles qui modifient/suppriment des données ou changent la structure des tables, me semblent encore très risquées lorsqu’elles sont effectuées en langage naturel via un LLM.
Au final, il faudra sans doute vérifier le SQL généré avant son exécution.
Je pense que ce n’est pas vraiment l’idée principale du commentaire original.
Même sur une base de données en production, un simple
selectpeut provoquer des incidents à cause de la charge ou de verrous, donc il voulait sans doute dire qu’il y a un risque à utiliser directement les requêtes générées via un LLM.