
Avis Pratique sur WrenAI : Text-to-SQL Propulsé par RAG
WrenAI, une solution de text-to-SQL que je suis depuis un certain temps, a enfin atterri sur mon bureau pour un test pratique. Voici mon expérience.
Installation Facile de WrenAI : Déploiement Local Simplifié
L'installation de WrenAI est relativement simple grâce au guide fourni dans la documentation officielle. Le déploiement local est bien expliqué. L'intégration avec Ollama local est également facilitée par des exemples de fichiers de configuration.
Cependant, faites attention aux détails ! Si vous utilisez ollama/nomic-embed-text
comme embedder, n'oubliez pas de modifier la dimension embedding_model_dim
de 3072 à 768. Une petite erreur peut bloquer le processus. Avec les bons réglages, WrenAI fonctionne impeccablement. Mon test a été effectué avec MySQL et le dataset de test officiel MySQL.
Avantage Principal de WrenAI : Personnalisation des Prompts pour une Précision SQL Améliorée
Au-delà des questions/réponses basées sur le schéma, WrenAI offre la possibilité de personnaliser les prompts. La page "Knowledge" permet de prédéfinir des questions et leurs réponses SQL correspondantes. On peut aussi ajouter des commandes pour donner des "paramètres" supplémentaires à l'IA.
L'analyse du prompt de WrenAI révèle l'importance de ces "Knowledge" pour déterminer la structure du SQL final. La personnalisation des prompts offre une opportunité fiable de fine-tuning pour l'intégration avec des sources de données, comme BigQuery.
Inconvénients de WrenAI : Défis et Limitations d'un Projet Récent
Comme tout projet jeune (version 0.19.2 au moment de ce test), WrenAI n'est pas exempt de bugs. J'ai rencontré quelques problèmes notables :
- Analyse de modèle initiale gourmande en ressources : À la première connexion, WrenAI propose des questions basées sur le modèle de données. Cette analyse consomme beaucoup de puissance de calcul et peut échouer si le modèle n'est pas assez robuste. L'absence de gestion d'erreur efficace rend l'expérience frustrante.
- Hallucinations de l'IA : Même avec un modèle de données simple et peu de colonnes, le modèle
llama3.1:8b
montre une certaine tendance à l'hallucination. En tant qu'ingénieur de données, je peux facilement identifier et corriger les erreurs grâce au mécanisme de correction intégré de WrenAI. - Exigence de ressources élevée pour RAG : WrenAI s'appuie sur une implémentation RAG pour générer du SQL, nécessitant un modèle puissant. Sur un MacBook Pro M2 avec
llama3.1:8b
, une requête simple (joindre quelques tables) prend plus de 5 minutes. Les requêtes complexes provoquent fréquemment des erreurs internes du serveur. Cela rend potentiellement l'utilisation de WrenAI en tant qu' outil text-to-sql limitant sur certaines instances.
Bilan : WrenAI, un Outil Text-to-SQL Prometteur Malgrès ses Défis
WrenAI utilise RAG pour créer une solution text-to-sql prometteuse. Son architecture, basée sur RAG, offre une grande flexibilité grâce à la personnalisation des prompts.
Cependant, en tant que RAG, les exigences en puissance de calcul et en capacité modèle sont élevées. L'efficacité avec des modèles plus petits doit être améliorée. Je vais continuer à expérimenter avec des modèles plus performants et espère obtenir de meilleurs résultats. Dans l'ensemble, WrenAI est un produit qui vaut la peine d'être exploré, surtout pour ceux qui cherchent une solution text to sql powered by RAG.