L'image présente l'architecture logique composée d'une machine virtuelle de calcul avec les composants suivants :
- Routeur : les demandes utilisateur sont envoyées 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 LLM avec une invite spécialisée.
- Gestionnaire de schémas : gère toutes les métadonnées associé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 tire parti d'une base de données 23ai et de la recherche sémantique au sein de la base de données pour trouver les tables pertinentes pour la demande NL utilisateur.
- Générateur SQL : convertit la demande NL en instruction SQL exécutable sur la base de données "données" connectée. Il utilise un ensemble de modèles de LLM pour améliorer la précision et augmenter le taux de réussite des instructions SQL correctement générées. SQL Generator est connecté à partir du cache par une flèche unidirectionnelle et se connecte à SQL Executor par une flèche unidirectionnelle.
- Cache SQL : stocke les instructions NL (et leurs équivalents SQL) pour les demandes les plus fréquentes.
- Exécuteur SQL : active la validation de syntaxe de l'instruction SQL générée, exécute l'instruction et la renvoie à l'utilisateur.
- Analyseur de données AI : 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 du moniteur d'agent SQL.