NL2Chart convertit les résultats de requêtes SQL en graphiques (barres, courbes ou secteurs) sans code de visualisation. Transmettez directement à NL2Chart le code SQL généré par NL2SQL : le modèle sélectionne le type de graphique approprié selon votre question et renvoie l'URL d'une image PNG.
Fonctionnement
NL2Chart constitue la seconde étape d'un pipeline en deux phases :
NL2SQL traduit une question en langage naturel en instruction SQL.
NL2Chart exécute cette instruction SQL pour récupérer les données, puis génère le graphique correspondant.
Par défaut, le modèle détermine automatiquement le type de graphique selon les mots-clés de votre question. Pour imposer un type spécifique, ajoutez une instruction de tracé au paramètre usr_query.
Actuellement, seule la valeurresult_type = 'IMAGE'est prise en charge. L'URL renvoyée pointe vers une image PNG, ne comporte aucune restriction d'accès et expire après 90 minutes. Consultez le champExpiresdans l'URL pour connaître l'heure d'expiration exacte.
Syntaxe
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart, <SQL_statement>)
WITH (usr_query = <usr_query>, result_type = <result_type>);
Paramètres
| Paramètre | Description | Exemple |
|---|---|---|
usr_query |
Question formulée en langage naturel. Le modèle s'en sert pour choisir le type de graphique. Pour remplacer la sélection automatique, ajoutez une instruction de tracé (par exemple, draw a line chart). |
'Quarterly sales statistics for 2023' |
result_type |
Format de retour. Seule la valeur 'IMAGE' est actuellement prise en charge. |
'IMAGE' |
SQL_statement |
Requête SQL permettant de récupérer les données à visualiser. Il s'agit généralement du résultat produit par NL2SQL. | SELECT quarter, sales FROM sales_data WHERE year = 2023 |
Exemple
L'exemple suivant illustre l'intégralité du processus, de la question en langage naturel à la génération du graphique.
Étape 1 : Convertissez votre question en code SQL avec NL2SQL.
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2sql, select 'merchant type statistics')
WITH (basic_index_name='schema_index', pattern_index_name='pattern_index');
NL2SQL renvoie une instruction SQL :
SELECT merchtype AS merchant_type, COUNT(*) AS product_count
FROM hkrt_merchant_info
GROUP BY merchtype;
Étape 2 : Transmettez cette requête SQL à NL2Chart.
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS merchant_type, COUNT(*) AS merchant_count
FROM hkrt_merchant_info
GROUP BY merchtype
) WITH (usr_query = 'merchant type statistics', result_type='IMAGE');
NL2Chart renvoie l'URL de l'image PNG générée :
http://db4ai-xxx-.aliyuncs.com/pc-xxx/OSSAccessKeyId=xxx&Expires=1716130199&Signature=KvPFzxxx

Sélection du type de graphique
Le modèle choisit le type de graphique selon deux critères : la structure des données et l'objectif de communication. Le tableau ci-dessous présente la correspondance entre les types de questions et les graphiques recommandés.
| Type de question | Type de graphique | Exemple de question | Cas d'usage |
|---|---|---|---|
| Statistiques de dénombrement | Graphique en barres | « Compter les ventes par ville » | Comparaison de quantités entre catégories (totaux, effectifs, fréquences) |
| Évolution des tendances | Graphique linéaire | « Afficher la tendance de croissance des utilisateurs sur l'année écoulée » | Visualisation de l'évolution des valeurs dans le temps ou selon des catégories ordonnées |
| Répartition proportionnelle | Diagramme circulaire | « Montrer la part des ventes de chaque gamme de produits » | Illustration de la contribution de chaque catégorie à un ensemble ; nécessite un total clairement défini sur des données catégorielles |
Forcer un type de graphique
Pour utiliser un type de graphique précis indépendamment de la question posée, ajoutez une instruction de tracé à la fin du paramètre usr_query.
Exemple : imposer un graphique linéaire
-- Force NL2Chart to render a line chart
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS merchant_type, COUNT(*) AS merchant_count
FROM hkrt_merchant_info
GROUP BY merchtype
) WITH (usr_query = 'merchant type statistics, draw a line chart', result_type='IMAGE');

Exemple : imposer un diagramme circulaire
-- Force NL2Chart to render a pie chart
/*polar4ai*/SELECT * FROM PREDICT (MODEL _polar4ai_nl2chart,
SELECT merchtype AS merchant_type, COUNT(*) AS merchant_count
FROM hkrt_merchant_info
GROUP BY merchtype
) WITH (usr_query = 'merchant type statistics, draw a pie chart', result_type='IMAGE');

Bonnes pratiques
Adaptez le type de graphique à la structure des données. Les diagrammes circulaires exigent des données proportionnelles avec un total explicite, tandis que les graphiques linéaires nécessitent des séries temporelles ou des catégories ordonnées. Un choix inadapté risque de produire une visualisation trompeuse.
Privilégiez la sélection automatique lorsque c'est possible. L'utilisation de mots-clés tels que « count », « trend » ou « proportion » dans le paramètre
usr_queryaide le modèle à recommander le format le plus pertinent. Réservez les remplacements manuels aux situations où le choix par défaut ne répond pas à vos besoins.Combinez NL2SQL et NL2Chart. Injectez directement la sortie SQL de NL2SQL dans NL2Chart pour passer d'une question en langage naturel à un rapport visuel en seulement deux étapes.
Rubriques connexes
NL2SQL — Génération de requêtes SQL à partir de questions en langage naturel