L'illustration présente l'architecture logique composée d'une machine virtuelle de calcul avec les composants suivants :
- Routeur : Les demandes d'utilisateur vont au routeur qui identifie le type de demande (génération SQL et extraction de données ou analyse de données) et le dirige vers le pipeline de traitement approprié. Le composant est basé sur le LLM avec une invite spécialisée.
- Gestionnaire de schéma : Gère toutes les métadonnées liées au schéma de base de données. Il joue un rôle crucial en fournissant, pour chaque demande NL, la liste des tables ("schéma restreint") à utiliser pour la génération SQL et toutes les métadonnées associées. Il utilise une base de données 23ai et une recherche sémantique dans la base de données pour trouver les tables pertinentes pour la demande NL utilisateur.
- Générateur SQL : Convertit la demande NL en un énoncé SQL exécutable dans la base de données "Données" connectée. Il utilise un ensemble de modèles LLM pour améliorer la précision et augmenter le taux de réussite des énoncés SQL générés correctement. SQL Generator est connecté à partir du cache par une flèche unidirectionnelle et se connecte à SQL Executor par une flèche unidirectionnelle.
- Mémoire cache SQL : Stocke les instructions NL (et leurs équivalents SQL) pour les demandes les plus fréquentes.
- Exécuteur SQL : Active la validation de la syntaxe de l'énoncé SQL généré, exécute l'instruction et la renvoie à l'utilisateur.
- Analyseur de données IA : Analyse les données conversationnelles stockées afin de générer des réponses pour les demandes d'analyse ou la génération de rapports.
Les données sont affichées dans le tableau de bord à partir de SQL Agent Monitor.