Imaginez que vous puissiez interroger votre base de données Odoo en langage naturel. Par exemple, posez-lui une question simple comme : "Quels sont les produits qui représentent 80% de mon chiffre d'affaires ?" Grâce à l'intelligence artificielle, c'est désormais possible ! Dans cet article, nous allons vous montrer comment réaliser cette prouesse à l'aide de l'outil Vanna.ai.
1. Qu'est-ce que Vanna.ai ?
Vanna.ai est une application capable de traduire les entrées en langage naturel en instructions SQL SELECT, ce qui lui permet d'interroger des bases de données, dont PostgreSQL. L'avantage principal ? Vous pouvez entraîner l'IA en fonction de la structure de votre base de données Odoo.
2. Comment fonctionne Vanna.ai ?
Voici un schéma explicatif :
Concrètement, Vanna.ai permet de :
1. Entraîner un modèle RAG (Retrieval-Augmented Generation) sur les données de votre base.
2. Poser des questions à ce modèle, qui générera automatiquement une requête SQL pour interroger la base de données.
3. Passons à la Pratique
3.1 Prérequis
Assurez-vous que votre base de données Odoo est déjà installée sur vos serveurs. Si ce n'est pas le cas, suivez l'article Installer Odoo avec le code source
3.2 Installer Vanna
Depuis le répertoire d'installation de votre instance Odoo, tapez les commandes suivantes :
shell
mkdir vanna
cd vanna
python -m venv myenv
source myenv/bin/activate
pip install vanna
3.3 Créer un Compte sur Vanna.ai
1. Rendez-vous sur Vanna.ai
2. Créez un compte gratuit en cliquant sur "Get Started for Free".
3.4 Créer une Clé d'API
1. Dans votre compte Vanna.ai, cliquez sur "API Keys" dans le menu de gauche.
2. Créez une nouvelle clé d'API et sauvegardez-la dans un endroit sûr.
3.5 Créer un Modèle RAG
1. Dans votre compte Vanna.ai, cliquez sur "RAG Models" dans le menu de gauche.
2. Nommez et créez un nouveau modèle.
3.6 Créer un Dump de Votre Base de Données Odoo
Pour entraîner le modèle RAG, nous allons utiliser le script de création de la base de données Odoo. Depuis votre console, tapez :
shell
pg_dump -U [votre_utilisateur_postgres] --schema-only [nom_de_votre_base_de_données] > db_schema.sql
3.7 Création du Script Python
1. Dans la console, créez un fichier Python :
touch run.py
2. Ouvrez ce fichier avec votre éditeur favori et insérez le code suivant :
python
import vanna
from vanna.remote import VannaDefault
api_key = 'votre_clé_d_api'
vanna_model_name = 'votre_modèle_rag'
vn = VannaDefault(model=vanna_model_name, api_key=api_key)
3. Connectez Vanna à votre base de données :
vn.connect_to_postgres(host='hote_de_votre_base_de_données', dbname='nom_de_votre_base_de_données', user='utilisateur_de_votre_base', password="mot_de_passe", port='5432')
4. Entraînez le modèle avec les informations des colonnes, tables et vues de la base de données :
df_information_schema = vn.run_sql("SELECT * FROM INFORMATION_SCHEMA.COLUMNS")
plan = vn.get_training_plan_generic(df_information_schema)
vn.train(plan=plan)
5. Entraînez le modèle avec le schéma de la base de données :
data = ""
with open('db_schema.sql', 'r') as file:
data = file.read()
vn.train(ddl=data)
6. Entraînez le modèle avec une description de la base :
vn.train(documentation="Nous utilisons Odoo ERP pour stocker les reçus de caisse en tant qu'achats. Les commandes d'achat correspondent donc au contenu des tickets de caisse.")
7. Lancez le client UI Vanna :
from vanna.flask import VannaFlaskApp
app = VannaFlaskApp(vn, allow_llm_to_see_data=True)
app.run()
3.8 Lancement du Script
Pour lancer le script, exécutez :
python3 run.py
Lorsque le script affiche :
(...)
Your app is running at:
http://localhost:8084
* Serving Flask app 'vanna.flask'
* Debug mode: on
Cela signifie que Vanna est prêt à être utilisé.
4. Exemple d'Utilisation en Vidéo
5. Pour aller plus loin
Si vous souhaitez aller plus loin: