Bonnes pratiques de modèle sémantique pour l’agent de données

L’agent de données Fabric permet aux organisations de créer des systèmes conversationnels à l’aide de l’IA générative. En connectant des modèles sémantiques Power BI en tant que sources de données, les équipes peuvent poser des questions en langage naturel et recevoir des réponses précises et riches en contexte sans écrire de requêtes DAX ou SQL complexes.

Toutefois, la qualité des réponses ia dépend fortement de la façon dont vous préparez vos sources de données. Bien que l’agent de données Fabric prenne en charge plusieurs types de sources de données, notamment lakehouses, entrepôts, eventhouses et ontologies, ce guide se concentre spécifiquement sur les modèles sémantiques Power BI et décrit les meilleures pratiques pour les configurer afin d’optimiser la précision et la pertinence.

Fonctionnement de l’assistant de données Fabric

L’agent de données utilise une architecture en couches où les questions utilisateur circulent via un Orchestrateur. L’orchestrateur détermine la source de données appropriée et appelle des outils spécialisés, notamment l’outil de génération DAX pour les modèles sémantiques Power BI à générer, valider et exécuter des requêtes.

Flux de traitement des requêtes

  1. Analyse des questions : L’agent traite les questions utilisateur par le biais d’Azure OpenAI, en garantissant la conformité avec les protocoles de sécurité et les autorisations et en respectant les principes d’IA responsable de Microsoft.

  2. Sélection de la source de données : Le système évalue la question par rapport aux sources disponibles à l’aide des informations de schéma et des instructions d’IA que vous fournissez.

  3. Génération de requête : Pour les modèles sémantiques, l’outil de génération DAX génère des requêtes DAX basées sur le schéma, les métadonnées (synonymes, valeurs minimales et maximales de colonnes numériques, métadonnées visuelles de rapport, etc.), le contexte configuré dans les données de préparation pour l’IA et l’historique des conversations.

  4. Mise en forme de réponse : L’agent met en forme des résultats en réponses lisibles par l’homme avec des tables, des résumés ou des insights en fonction des instructions de l’agent.

Flux de traitement des requêtes montrant les entrées de génération DAX : requête, métadonnées visuelles de rapport, instructions IA, réponses vérifiées et schéma de données IA.

Génération avancée de DAX (aperçu)

Un outil avancé de génération DAX est disponible pour les agents de données dans l’environnement d’exécution en préversion. Contrairement à la génération DAX standard, qui génère une requête en un seul passage, la génération avancée de DAX utilise plusieurs étapes de raisonnement pour inspecter les métadonnées du modèle, interpréter la question, résoudre l’ambiguïté et générer la requête DAX.

Les avantages de la génération avancée de DAX incluent :

  • Des réponses plus précises à des questions complexes : Il raisonne de manière itérative, inspecte les résultats, résout les ambiguïtés et affine son approche sur plusieurs étapes.
  • Indexation des valeurs d’instance : Il recherche des valeurs dans les colonnes du modèle sémantique afin de générer des filtres plus précis et fiables.
  • Réponses cohérentes à travers les expériences Microsoft : Il utilise des capacités partagées pour améliorer la cohérence des réponses entre l’agent de données Fabric, les compétences Fabric, Power BI, Microsoft 365 Copilot et le plugin Fabric IQ.
  • Latence améliorée dans certains scénarios : Bien que l’outil puisse effectuer plusieurs étapes de raisonnement, sa capacité à identifier plus efficacement les objets et valeurs du modèle pertinents peut réduire la latence de réponse pour certaines questions.

Utiliser une génération avancée de DAX

Pour activer la fonctionnalité, basculez l’agent de données vers l’exécution de prévisualisation.

La génération avancée de DAX utilise les métadonnées sémantiques du modèle et les configurations de préparation à l’IA décrites dans cet article. Suivez les meilleures pratiques détaillées dans cet article pour maximiser la précision et la performance des réponses.

L’indexation des valeurs d’instance nécessite actuellement l’activation du paramètre Q& A du modèle sémantique. Ce paramètre est activé par défaut pour les modèles Import et Direct Lake. Puisque Q&A sera retiré en décembre 2026, un paramètre de remplacement prendra en charge l’indexation de la valeur des instances après la retraite, et cet article sera mis à jour avec les nouvelles étapes de configuration.

Préparation à l'IA : Rendre le modèle sémantique prêt pour l'IA

La fonctionnalité Préparation de Power BI pour l’IA fournit trois composants de configuration qui affectent directement la façon dont l’agent de données Fabric interprète votre modèle sémantique. Vous pouvez accéder à ces composants dans Power BI Desktop et dans le service Power BI. Power BI Copilot utilise également les configurations de Prep pour l'IA, de sorte que consacrer du temps à leur mise en place profite à la fois aux réponses de Copilot et à celles de l’agent de données.

Important

Lors de l’interrogation de modèles sémantiques, l’outil de génération DAX utilisé par l’agent de données s’appuie uniquement sur les métadonnées du modèle sémantique et les configurations Prep pour l'IA. L’outil de génération DAX ignore les instructions que vous ajoutez au niveau de l’agent de données pour la génération de requêtes DAX. La préparation appropriée pour la configuration de l’IA est essentielle pour obtenir des résultats précis.

Schémas de données IA

Les schémas de données IA vous permettent de définir un sous-ensemble ciblé de votre modèle pour la hiérarchisation de l’IA. Bien que l’agent de données dispose également de sa propre sélection de table lors de l’ajout d’un modèle sémantique en tant que source de données, configurez d’abord votre schéma dans la préparation de l’IA. L’outil de génération DAX utilise ce schéma pour créer des requêtes DAX.

Vous pouvez configurer ce schéma dans Power BI Desktop ou le service Power BI en sélectionnant les données de préparation pour l’IA dans le ruban Accueil. Ensuite, accédez à l’onglet Simplifier le schéma de données . À partir de là, sélectionnez les tables, colonnes et mesures que l’IA doit utiliser lors de la génération de réponses. Pour obtenir des instructions détaillées sur la configuration, consultez Définir un schéma de données IA.

Capture d’écran des données de préparation pour l’IA montrant le panneau Simplifier le schéma de données avec des tables et des colonnes sélectionnées pour l’analyse ia.

Lorsque vous ajoutez le modèle sémantique à l’agent de données, sélectionnez les mêmes tables que celles que vous avez définies dans Prep for AI pour garantir un comportement cohérent. Tout d’abord, définissez l’étendue de votre agent de données (les types de questions auxquelles il doit répondre). Sélectionnez ensuite uniquement les objets pertinents. Cette approche réduit l’ambiguïté, améliore la précision et réduit la latence de réponse.

L’outil de génération DAX s’appuie sur les métadonnées de votre modèle pour interpréter les questions. Utilisez des noms clairs et conviviaux pour les tables, les colonnes et les mesures qui reflètent la façon dont les utilisateurs font naturellement référence aux données. Par exemple, utilisez « Total Revenue » au lieu de « TR_AMT » ou « Sales Region » au lieu de « DIM_GEO_01 ». Cette indication est particulièrement importante pour les grands modèles avec des champs qui se chevauchent ou qui portent des noms similaires, où des noms ambigus peuvent entraîner la génération de requêtes incorrectes.

Exemple : Résolution de l’ambiguïté du champ
Sans schéma de données d'intelligence artificielle Avec le schéma de données IA
Un utilisateur demande : "What were our sales last quarter?" Le modèle sémantique contient plusieurs mesures liées aux ventes : Chiffre d’affaires total, Ventes brutes, Ventes nettes et Ventes après retour. L’IA retourne les ventes brutes, mais votre équipe utilise généralement Net Sales pour les rapports trimestriels. Après avoir configuré le schéma de données IA pour inclure uniquement Net Sales et exclure les autres mesures qui ne sont pas pertinentes, la même question retourne désormais la métrique attendue. L'IA n'a plus à deviner quelle « sales » l'utilisateur avait en tête.

Conseils pour les schémas de données IA

  • Pour obtenir des résultats cohérents et précis, veillez à sélectionner les mêmes tables dans l’agent de données Fabric qui sont également définies par le biais de schémas de données IA dans la préparation de l’IA.

  • Lors de la sélection du schéma, incluez également des objets dépendants. Par exemple, si une mesure Total Revenue fait référence à deux autres mesures qui dépendent de colonnes supplémentaires, incluez tous ces objets dépendants dans votre schéma. Pour identifier les dépendances, utilisez la fonction get_measure_dependencies à partir de la bibliothèque Semantic Link Labs .

  • Si vous avez un modèle sémantique volumineux, le changement de nom de tous les objets manuellement peut être fastidieux. Utilisez le serveur MCP de modélisation Power BI pour avoir un LLM qui génère des noms conviviaux pour vos tables, colonnes et mesures. Passez en revue et validez les modifications avant d'enregistrer pour vous assurer qu'elles ne perturbent aucune expression DAX, relation ou autre objet dépendant.

Réponses vérifiées

Les réponses vérifiées sont des réponses visuelles approuvées par l’utilisateur qui déclenchent des questions spécifiques. Ils fournissent des réponses cohérentes et fiables aux questions courantes ou complexes susceptibles d’être mal interprétées. Étant donné que vous stockez des réponses vérifiées au niveau du modèle sémantique (et non au niveau du rapport), elles fonctionnent sur n’importe quel agent de données qui utilise le même modèle. Pour plus d’informations, consultez Préparer vos données pour l’IA – Réponses vérifiées.

Lorsque vous utilisez des réponses vérifiées avec l’agent de données, le système ne retourne pas le visuel Power BI lui-même. Au lieu de cela, il utilise les questions utilisateur et les propriétés du visuel (colonnes, mesures, filtres) pour influencer la génération de requêtes DAX. Cette approche signifie que les réponses vérifiées améliorent la précision de la réponse en guidant l’outil de génération DAX vers la structure de requête correcte. Lorsqu’un utilisateur pose une question à l’agent de données, le système recherche d’abord une correspondance exacte ou sémantique similaire à votre invite définie dans la réponse vérifiée avant de générer une nouvelle réponse.

Capture d’écran de la configuration des réponses vérifiées dans Power BI, montrant les expressions de déclenchement, un graphique visuel et les options de filtre pour le nom de l'île et le motif du voyage.

Exemple : Gestion de la terminologie régionale

Sans réponse vérifiée Avec la réponse vérifiée
Un utilisateur demande : "Show me performance by territory" l’IA interprète « territory » comme catégorie de produit, car il existe une colonne Territory dans la table Products. L'utilisateur voulait en fait dire des régions de vente. Vous créez une réponse vérifiée à l’aide d’un visuel de vente régional avec des questions de déclenchement telles que "What is the sales performance by territory?"« Afficher les ventes réparties par territoire » et « Comment les ventes sont-elles distribuées entre les régions ? » Maintenant, lorsque les utilisateurs demandent des performances sur le territoire, ils obtiennent constamment des réponses précises en fonction des objets utilisés dans le visuel commercial régional.

Conseils de configuration pour les réponses vérifiées

  • Utilisez cinq à sept questions pour chaque réponse vérifiée afin de couvrir les variations naturelles.
  • Inclure des formulations formelles et conversationnelles que les utilisateurs peuvent essayer.
  • Configurez jusqu’à trois filtres pour le découpage flexible sans créer plusieurs réponses vérifiées.
  • Si vous renommez des tables, des colonnes ou des mesures référencées dans une réponse vérifiée, mettez à jour la réponse vérifiée et enregistrez-la à nouveau pour que les modifications prennent effet.

Instructions d’IA

Les instructions de Prep for AI fournissent un contexte, une logique métier et des conseils directement sur le modèle sémantique. Ils permettent de clarifier la terminologie, de guider les approches d’analyse et de fournir un contexte métier et sémantique critique que l’IA ne comprendrait pas autrement.

Vous pouvez configurer ces instructions dans Power BI Desktop ou le service Power BI en sélectionnant Les données de préparation pour l’IA à partir du ruban Accueil, puis en accédant à l’onglet Ajouter des instructions IA . Pour obtenir des instructions d’installation détaillées, consultez la documentation des instructions d’IA.

Capture d’écran des données de préparation Power BI pour le volet IA avec l’onglet Ajouter des instructions IA ouverte, montrant une zone de texte pour entrer la terminologie métier et les valeurs par défaut d’analyse.

Les instructions IA sont des directives non structurées que le LLM interprète, mais il n’y a aucune garantie qu’il les suit exactement. Les instructions claires et spécifiques sont plus efficaces que les instructions complexes ou conflictuelles.

Comme mentionné précédemment, l’outil de génération DAX fait uniquement référence aux instructions AI configurées dans Prep for AI du modèle sémantique. Les instructions de l’agent de données ne sont pas passées à l’outil et sont ignorées lors de l’interrogation de modèles sémantiques. Pour cette raison, n’ajoutez pas d’instructions spécifiques au modèle sémantique au niveau de l’agent de données. Au lieu de cela, conservez toutes les instructions de modèle sémantique dans Prep for AI où l’outil de génération DAX peut les utiliser. Les instructions de l’agent de données doivent inclure uniquement des instructions qui s’appliquent à toutes les sources de données configurées dans l’agent, telles que les préférences de mise en forme de réponse générale, les règles de routage entre sources, les abréviations courantes, le ton, etc. Notez également que contrairement à d’autres sources de données, l’agent de données ne prend pas en charge les instructions ou descriptions de sources de données pour les modèles sémantiques.

Exemple : Définition de la terminologie métier

Sans instructions d’IA Avec des instructions d’IA
Un utilisateur demande : « Qui étaient les meilleurs artistes du mois dernier ? » L’IA ne comprend pas ce que signifie « top performer » dans votre organisation et retourne une erreur ou demande de clarification. Vous ajoutez une instruction : « Un meilleur interprète est un représentant commercial qui obtient 110% ou plus de leur quota mensuel. Utilisez la table Rep_Performance et filtrez où Quota_Attainment >= 1,1 " Maintenant, l’IA interprète correctement la question et retourne les résultats appropriés.

Modèles d’instructions effectifs

  • Définitions de période : « La saison de pointe s’étend de novembre à janvier. Hors saison est février à avril.
  • Préférences de métrique : « Lorsque les utilisateurs posent des questions sur la rentabilité, utilisez la mesure Contribution_Margin, et non Gross_Profit. »
  • Routage des sources de données : « Pour les questions d’inventaire, hiérarchiser la table Warehouse_Inventory sur Sales_Orders ».
  • Regroupements par défaut : « Sauf indication contraire, analysez le chiffre d’affaires par trimestre fiscal plutôt que par mois calendaire. »

Outre la préparation de l’IA, l’outil de génération de requêtes DAX utilise également des métadonnées à partir de visuels de rapport tels que le titre visuel, les colonnes, les mesures, les filtres, etc. pour améliorer la précision des requêtes.

  1. Optimisez le modèle sémantique : Commencez par optimiser votre modèle sémantique pour les performances. Les performances médiocres de l’agent de données proviennent souvent d’un modèle sémantique mal conçu, de mesures DAX inefficaces ou d’un mélange des deux. Lorsqu’un utilisateur pose une question, l’agent de données génère une requête DAX et l’exécute sur votre modèle. Un modèle bien optimisé utilise moins de ressources et accélère l’exécution des requêtes. Dans une interface conversationnelle, les utilisateurs attendent des réponses rapides, de sorte que les performances lentes affectent directement l’expérience utilisateur et l’adoption.

    En outre, un modèle surchargé avec des colonnes, des tables et des mesures inutiles introduit plus de bruit pour l’outil de génération DAX à analyser, ce qui peut réduire la précision des réponses. En optimisant votre modèle dès le début, vous empêchez également les problèmes de performances à mesure que vos données augmentent et que le modèle devient plus complexe. Vous pouvez en savoir plus sur l’optimisation d’un modèle pour les performances dans le cours Power BI .

    Utilisez l’analyseur best practice et l’analyseur de mémoire de modèle sémantique dans un notebook Fabric pour identifier des problèmes tels que des types de données incorrects, des colonnes inutiles, des colonnes de cardinalité élevée et des modèles DAX inefficaces. Ajoutez des descriptions aux tables, aux colonnes et aux mesures pour aider le LLM à comprendre l’objectif de chaque objet inclus dans le schéma de données IA.

    Capture d’écran du menu du modèle sémantique Power BI avec les options d’analyseur de bonnes pratiques, d’analyseur de mémoire et de notebooks communauté mises en surbrillance.

  2. Définir la préparation pour l’IA > Schéma de données IA : en fonction de l’étendue de votre agent de données, configurez le schéma de données IA dans Prep for AI en sélectionnant uniquement les tables, colonnes et mesures pertinentes pour les questions auxquelles votre agent doit répondre.

  3. Créer la préparation pour l’IA > Réponses vérifiées : identifiez vos questions les plus courantes et configurez les réponses vérifiées dans la préparation de l’IA à l’aide de visuels appropriés. Utilisez des questions complètes et robustes en tant que déclencheurs (pas des expressions partielles) pour améliorer la précision correspondante.

  4. Ajouter un modèle sémantique à l’agent de données : Avant d’ajouter des instructions d’IA dans Prep for AI, testez et validez les réponses de l’agent de données. Cette étape vous aide à comprendre où des instructions IA sont nécessaires pour améliorer la génération de requêtes DAX.

  5. Ajouter la préparation pour l’IA > Instructions IA : en fonction de vos résultats de validation, définissez la terminologie métier, les préférences d’analyse et les priorités de source de données dans la préparation des instructions d’IA (et non dans les instructions de l’agent de données).

  6. Préparer des visuels de rapport : Passez en revue les rapports connectés au modèle sémantique, y compris les visuels masqués et les pages, pour vous assurer que les visuels ont des titres descriptifs. Les visuels bien structurés aident l’IA à baser les réponses à l’aide des métadonnées visuelles telles que le titre visuel, la table, la colonne, les mesures utilisées, les filtres appliqués, etc.

  7. Vérifiez et testez DAX : La précision de la réponse dépend de la requête DAX générée. Lors du test de votre agent de données, passez en revue la requête DAX dans chaque réponse pour vérifier qu’elle est valide et répond correctement à la question. Si les résultats sont incorrects, analysez DAX pour identifier les configurations (modèle sémantique, schéma de données IA, réponses vérifiées ou instructions IA) qui nécessitent un ajustement.

    Capture d’écran d’une interface d’agent de données montrant une requête utilisateur, une réponse de ventes générée par l’IA, un suivi d’étape et un panneau de code de requête DAX.

  8. Configurer les instructions de l’agent de données : Ajoutez des instructions au niveau de l’agent de données uniquement pour obtenir des instructions qui s’appliquent à toutes les sources de données configurées dans l’agent. Ces conseils incluent les préférences générales de mise en forme des réponses, les règles de routage inter source, les abréviations courantes et le ton. N’ajoutez pas d’instructions spécifiques au modèle sémantique ici, car elles ne sont pas transmises à l’outil de génération DAX. Pour obtenir des conseils sur la configuration des instructions de l’agent, reportez-vous aux instructions de configuration.

  9. Valider & Itérer : Les LLM peuvent produire des résultats incorrects sans un contexte adéquat. Itérer en continu sur votre configuration et valider les réponses pour générer une approbation dans votre agent de données. Pour évaluer les réponses par programmation, vous pouvez utiliser le Kit de développement logiciel (SDK) Python de l’agent de données Fabric pour exécuter des évaluations automatisées sur des paires questions-réponses de base et analyser les métriques de précision. Notez que le SDK est à des fins d’évaluation uniquement dans ce cas et ne peut pas modifier la préparation du modèle sémantique pour les configurations IA. Pour plus d’informations, consultez Évaluer votre agent de données. En outre, impliquez les parties prenantes et les utilisateurs finaux dans le processus d’évaluation. Leurs commentaires garantissent que les réponses s’alignent sur les attentes réelles et la facilité d’utilisation, ce qui vous permet d’identifier les lacunes que les vérifications automatisées peuvent manquer.

  10. Implémenter des pipelines de contrôle de code source et de déploiement : Utilisez des pipelines d’intégration et de déploiement Git pour gérer vos configurations d’agent de données dans les espaces de travail de développement, de test et de production. Cette pratique garantit que les modifications de configuration sont testées et validées avant d’être promues en production où les utilisateurs finaux y accèdent. Pour plus d’informations, consultez Contrôle de code source, CI/CD et ALM pour l’agent de données Fabric.

Conseil / Astuce

Vous pouvez utiliser des ressources dans le référentiel de boîte à outils fabric comme référence pour vous aider à travers ce flux de travail. Ce référentiel contient :

Pièges courants à éviter

  • L’utilisation du schéma en étoile n’est pas utilisée : Les modèles sémantiques qui utilisent des tables plates, dénormalisées ou des structures de données pivotées rendent DAX moins efficace et plus difficile à écrire correctement. DAX est optimisé pour le schéma en étoile avec des tables de faits et de dimensions claires. Transformez les tableaux larges en structures normalisées où chaque ligne représente une seule observation.

  • S’appuyant sur des champs masqués : Les réponses vérifiées ne fonctionnent pas si elles référencent des colonnes masquées dans le modèle.

  • Y compris les mesures inutiles : Les modèles sémantiques contiennent souvent des mesures d’assistance et des objets intermédiaires utilisés pour améliorer l’interactivité de rapport. Lors de la configuration de votre schéma de données IA, incluez uniquement les mesures qui calculent les métriques métier réelles. L’exclusion des mesures d’assistance réduit le bruit et aide l’outil de génération DAX à générer des requêtes plus précises.

  • Mesures en double ou en chevauchement : Plusieurs mesures qui calculent des métriques similaires (par exemple, Total Sales, Sales Amount, Revenue) créent une ambiguïté. Consolidez ou différenciez clairement les mesures et excluez les doublons de votre schéma de données IA.

  • Nommage non descriptif : Les noms d’objets tels que TR_AMT, F_SLS ou DIM_GEO_01 ne fournissent aucun contexte pour l’outil de génération DAX. Utilisez des noms clairs et conviviaux tels que Total Revenue, Sales ou Customer Geography. Si vous ne pouvez pas renommer d’objets, vérifiez que les descriptions et les synonymes fournissent le contexte nécessaire à l’IA pour comprendre leur objectif.

  • S’appuyant sur des mesures implicites : Les mesures implicites peuvent entraîner des résultats imprévisibles. Créez des mesures DAX explicites pour les calculs que les utilisateurs doivent interroger et définissez le résumé par défaut correct (Somme, Moyenne, Aucun, et ainsi de suite) sur les colonnes numériques pour empêcher les agrégations involontaires.

  • Champs de date ambigus : Plusieurs colonnes de date (date de commande, date d’expédition, date d’échéance, trimestre du calendrier/trimestre du FY, et ainsi de suite) sans instructions claires confondent l’IA. Utilisez les instructions de réponses vérifiées et d’IA dans Prep for AI pour spécifier le champ de date à utiliser par défaut ou pour des types de questions spécifiques.

  • Instructions contradictoires : Les instructions ia qui contredisent les configurations de réponse vérifiée créent un comportement imprévisible.

  • Ignorer l’affinement du schéma : Les modèles volumineux avec de nombreux champs nommés de la même façon ont besoin de schémas de données IA ciblés.

  • Instructions trop complexes : Gardez les instructions ciblées et spécifiques. L'IA interprète, mais ne garantit pas de respecter les directives complexes et contradictoires. Les instructions complexes peuvent également ajouter à la latence.

Tools

Pour suivre ces instructions, vous pouvez utiliser les outils ci-dessous à partir du dépôt GitHub de la boîte à outils Fabric :

Ressources supplémentaires