Semantiske modelbedste praksisser for dataagent

Fabric-dataagenten gør det muligt for organisationer at opbygge samtalesystemer ved hjælp af generativ AI. Ved at forbinde Power BI semantiske modeller som datakilder kan teams stille spørgsmål på naturligt sprog og modtage præcise, kontekstrige svar uden at skulle skrive komplekse DAX- eller SQL-forespørgsler.

Kvaliteten af AI-svar afhænger dog i høj grad af, hvor godt du forbereder dine datakilder. Selvom Fabric data agent understøtter flere datakildetyper, herunder lakehouses, warehouses, eventhouses og ontologier, fokuserer denne guide specifikt på Power BI semantiske modeller og gennemgår best practices for at konfigurere dem for at maksimere nøjagtighed og relevans.

Sådan fungerer Fabric-dataagenten

Dataagenten bruger en lagdelt arkitektur, hvor brugerspørgsmål flyder gennem en Orchestrator. Orchestratoren bestemmer den relevante datakilde og aktiverer specialiserede værktøjer, herunder DAX-genereringsværktøjet til Power BI semantiske modeller til at generere, validere og udføre forespørgsler.

Forespørgselsbehandlingsflowet

  1. Spørgsmålsfortolkning: Agenten behandler brugerspørgsmål via Azure OpenAI, sikrer overholdelse af sikkerhedsprotokoller og tilladelser samt overholder Microsoft Responsible AI-principperne.

  2. Valg af datakilde: Systemet vurderer spørgsmålet ud fra tilgængelige kilder ved hjælp af skemainformation og AI-instruktioner, du giver.

  3. Generering af forespørgsler: For semantiske modeller genererer DAX-genereringsværktøjet DAX-forespørgsler baseret på skema, metadata (synonymer, min- og maksværdier af numeriske kolonner, rapport-visuelle metadata og mere), kontekst konfigureret i Prep-data for AI og samtalehistorikken.

  4. Svarformatering: Agentens formater resulterer i menneskelæsbare svar med tabeller, resuméer eller indsigter baseret på agentens instruktioner.

Forespørgselsbehandlingsflow, der viser input til DAX Generering: forespørgsel, rapport, visuel metadata, AI-instruktioner, verificerede svar og AI-dataskema.

Forberedelse til AI: Gør semantisk model-AI klar

Power BI's Prep for AI-funktion tilbyder tre konfigurationskomponenter, der direkte påvirker, hvordan Fabric-dataagenten fortolker din semantiske model. Du kan få adgang til disse komponenter både i Power BI Desktop og Power BI-tjenesten. Power BI Copilot bruger også Prep til AI-konfigurationer, så det gavner både Copilot- og dataagent-svar at investere tid i opsætningen.

Vigtigt

Når man forespørger semantiske modeller, baserer DAX-genereringsværktøjet, som dataagenten bruger, sig udelukkende på den semantiske models metadata og Prep for AI-konfigurationer. DAX-genereringsværktøjet ignorerer alle instruktioner, du tilføjer på dataagent-niveau til DAX-forespørgselsgenerering. Korrekt forberedelse til AI-konfiguration er afgørende for nøjagtige resultater.

AI-dataskemaer

AI-dataskemaer lader dig definere et fokuseret delmængde af din model til AI-prioritering. Selvom dataagenten også har sit eget tabelvalg, når du tilføjer en semantisk model som datakilde, skal du konfigurere dit skema i Prep for AI først. DAX-genereringsværktøjet bruger dette skema til at oprette DAX-forespørgsler.

Du kan konfigurere dette skema i Power BI Desktop eller Power BI-tjenesten ved at vælge Prep data for AI fra Home-båndet. Derefter navigerer du til fanen Forenkle dataskema . Derfra vælger du, hvilke tabeller, kolonner og målinger AI'en skal bruge, når den genererer svar. For detaljerede opsætningsinstruktioner, se Set et AI-dataskema.

Skærmbillede af Prep-data for AI, der viser panelet Forenkle dataskemaet med tabeller og kolonner valgt til AI-analyse.

Når du tilføjer den semantiske model til dataagenten, vælg de samme tabeller, som du definerede i Prep for AI, for at sikre ensartet adfærd. Først skal du definere omfanget af din dataagent (hvilke typer spørgsmål den skal besvare). Vælg derefter kun de relevante objekter. Denne tilgang reducerer tvetydighed, forbedrer nøjagtigheden og reducerer responslatens.

DAX-genereringsværktøjet er afhængigt af din models metadata til at fortolke spørgsmål. Brug klare, erhvervsvenlige navne til tabeller, kolonner og målinger, der afspejler, hvordan brugerne naturligt refererer til dataene. For eksempel kan du bruge 'Total Revenue' i stedet for 'TR_AMT' eller 'Sales Region' i stedet for 'DIM_GEO_01'. Denne vejledning er især vigtig for store modeller med overlappende eller lignende navngivne felter, hvor tvetydige navne kan føre til forkert generering af forespørgsler.

Eksempel: Løsning af felt-tvetydighed
Uden AI Data Schema Med AI Data Schema
En bruger spørger: "What were our sales last quarter?" Den semantiske model indeholder flere salgsrelaterede mål: Samlet omsætning, bruttoomsætning, nettoomsætning og omsætning efter retur. AI'en returnerer bruttosalg, men dit team bruger typisk nettosalg til kvartalsrapportering. Efter at have konfigureret AI-dataskemaet til kun at inkludere nettosalg og udelukke de andre mål, der ikke er relevante, returnerer det samme spørgsmål nu den forventede måling. AI'en behøver ikke længere gætte, hvilket "salgsmål" brugeren havde til hensigt.

Tips til AI-dataskemaer

  • For konsistente og nøjagtige resultater skal du sikre dig, at du vælger de samme tabeller i Fabric data agent, som også er defineret gennem AI Data Schemas i Prep for AI.

  • Når du vælger skema, skal du også inkludere afhængige objekter. For eksempel, hvis et Total Revenue-mål refererer til to andre mål, der afhænger af yderligere kolonner, skal du inkludere alle disse afhængige objekter i dit skema. For at identificere afhængigheder skal du bruge get_measure_dependencies-funktionen fra Semantic Link Labs-biblioteket .

  • Hvis du har en stor semantisk model, kan det være besværligt at omdøbe alle objekter manuelt. Brug Power BI Modeling MCP-serveren til at få en LLM til at generere forretningsvenlige navne til dine tabeller, kolonner og målinger. Gennemgå og valider ændringerne før gemning for at sikre, at de ikke bryder nogen DAX-udtryk, relationer eller andre afhængige objekter.

Bekræftede svar

Verificerede svar er brugergodkendte visuelle svar, som specifikke spørgsmål udløser. De giver konsistente, pålidelige svar på almindelige eller komplekse spørgsmål, som ellers kunne blive misforstået. Fordi du gemmer verificerede svar på semantisk modelniveau (ikke rapportniveau), fungerer de på tværs af enhver dataagent, der bruger samme model. For mere information, se Forbered dine data til AI – Verificerede svar.

Når du bruger verificerede svar med dataagenten, returnerer systemet ikke Power BI-visualiseringen selv. I stedet bruger den brugerspørgsmålene og visualiseringens egenskaber (kolonner, målinger, filtre) til at påvirke DAX-forespørgselsgenerering. Denne tilgang betyder, at verificerede svar forbedrer svarnøjagtigheden ved at styre DAX-genereringsværktøjet mod den korrekte forespørgselsstruktur. Når en bruger stiller et spørgsmål til dataagenten, tjekker systemet først for et nøjagtigt eller semantisk lignende match til din prompt defineret i det verificerede svar, før der genereres et nyt svar.

Skærmbillede af verificerede svar opsat i Power BI, der viser triggersætninger, et visuelt skema og filtermuligheder for ønavn og rejseformål.

Eksempel: Håndtering af regional terminologi

Uden verificeret svar Med verificeret svar
En bruger spørger: "Show me performance by territory" AI'en fortolker "territorium" som produktkategori, fordi der er en Territorium-kolonne i Produkter-tabellen. Brugeren mente faktisk salgsregioner. Du laver et verificeret svar ved hjælp af en regional salgs-visual med trigger-spørgsmål som "What is the sales performance by territory?": "Vis mig salg opdelt efter territorium" og "Hvordan fordeles salget på tværs af regioner?" Nu, når brugere spørger om territorieydelse, får de konsekvent præcise svar baseret på de objekter, der bruges i den regionale salgsvisual.

Konfigurationstips til verificerede svar

  • Brug fem til syv trigger-spørgsmål pr. verificeret svar for at dække naturlige variationer.
  • Inkludér både formelle og samtalebaserede formuleringer, som brugerne måske kan prøve.
  • Konfigurer op til tre filtre for fleksibel slicing uden at oprette flere verificerede svar.
  • Hvis du omdøber tabeller, kolonner eller målinger, der refereres til i et verificeret svar, skal du opdatere det verificerede svar og gemme det igen, så ændringerne træder i kraft.

INSTRUKTIONER TIL KUNSTIG INTELLIGENS

AI-instruktioner i Prep for AI giver kontekst, forretningslogik og vejledning direkte på den semantiske model. De hjælper med at klarlægge terminologien, vejlede analysemetoder og give kritisk forretningsmæssig og semantisk kontekst, som AI'en ellers ikke ville forstå.

Du kan konfigurere disse instruktioner i Power BI Desktop eller Power BI-tjenesten ved at vælge Prep data for AI fra Home-båndet og derefter navigere til fanen Tilføj AI-instruktioner . For detaljerede opsætningsinstruktioner, se AI-instruktionernes dokumentation.

Skærmbillede af Power BI Prep data for AI-panelet med fanen Tilføj AI-instruktioner åben, der viser en tekstboks til indtastning af forretningsterminologi og analysestandarder.

AI-instruktioner er ustruktureret vejledning, som LLM'en fortolker, men der er ingen garanti for, at den følger dem præcist. Klare, specifikke instruktioner er mere effektive end komplekse eller modstridende.

Som nævnt tidligere refererer DAX-genereringsværktøjet kun til de AI-instruktioner, der er konfigureret i Prep for AI af den semantiske model. Dataagentinstruktioner sendes ikke til værktøjet og ignoreres, når man forespørger semantiske modeller. Af denne grund bør du ikke tilføje semantiske modelspecifikke instruktioner på dataagent-niveau. I stedet skal du opbevare alle instruktioner til semantiske modeller i Prep for AI, hvor DAX-genereringsværktøjet kan bruge dem. Instruktioner til dataagenten bør kun indeholde vejledning, der gælder på tværs af alle datakilder, der er konfigureret i agenten, såsom generelle præferencer for svarformatering, krydskilde-routingregler, almindelige forkortelser, tone osv. Bemærk også, at i modsætning til andre datakilder understøtter dataagenten ikke instruktioner eller beskrivelser af datakilder for semantiske modeller.

Eksempel: Definition af forretningsterminologi

Uden AI-instruktioner Med AI-instruktioner
En bruger spørger: "Hvem var de bedste præsterende sidste måned?" AI'en forstår ikke, hvad "top performer" betyder i din organisation og returnerer en fejl eller beder om afklaring. Du tilføjer en instruktion: "En topperformer er en salgsrepræsentant, der opnår 110% eller mere af sin månedlige kvote. Brug Rep_Performance-tabellen og filteret, hvor Quota_Attainment >= 1,1" Nu fortolker AI'en spørgsmålet korrekt og returnerer de rigtige resultater.

Effektive instruktionsmønstre

  • Definitioner af tidsperioder: "Højsæsonen løber fra november til januar. Off-season er fra februar til april."
  • Præferencer for metriske mål: "Når brugere spørger om rentabilitet, så brug det Contribution_Margin mål, ikke Gross_Profit."
  • Datakilde-routing: "For spørgsmål om inventar, prioriter Warehouse_Inventory-bordet over Sales_Orders."
  • Standardgrupperinger: "Medmindre andet er angivet, analyseres indtægterne efter regnskabskvartal i stedet for kalendermåned."

Ud over Prep for AI bruger DAX-værktøjet til forespørgselsgenerering også metadata fra rapportvisuals såsom visuel titel, kolonner, målinger, filtre osv. for at forbedre forespørgselsnøjagtigheden.

  1. Optimer den semantiske model: Start med at optimere din semantiske model for ydeevne. Dårlig dataagentpræstation skyldes ofte en dårligt designet semantisk model, ineffektive DAX-målinger eller en blanding af begge dele. Når en bruger stiller et spørgsmål, genererer dataagenten en DAX-forespørgsel og kører den mod din model. En veloptimeret model bruger færre ressourcer og opnår hurtigere forespørgselsudførelse. I en samtalegrænseflade forventer brugerne hurtige svar, så langsom ydeevne påvirker direkte brugeroplevelsen og adoptionen.

    Derudover skaber en oppustet model med unødvendige kolonner, tabeller og målinger mere støj, som DAX-genereringsværktøjet kan analysere, hvilket kan reducere responsnøjagtigheden. Ved at optimere din model tidligt forhindrer du også performanceproblemer, efterhånden som dine data vokser og modellen bliver mere kompleks. Du kan lære mere i kurset 'Optimer en model for ydeevne i Power BI '.

    Brug Best Practice Analyzer og Semantic Model Memory Analyzer i en Fabric-notebook til at identificere problemer som forkerte datatyper, unødvendige kolonner, kolonner med høj kardinalitet og ineffektive DAX-mønstre. Tilføj beskrivelser til tabeller, kolonner og målinger for at hjælpe LLM'en med at forstå formålet med hvert objekt, der er inkluderet i AI-dataskemaet.

    Skærmbillede af Power BI semantiske modelmenu med Best practice analyzer, Memory analyzer og Community notebooks-muligheder fremhævet.

  2. Definér forberedelse til AI > AI Data Schema: Baseret på omfanget af din dataagent konfigurerer du AI-dataskemaet i Prep for AI ved kun at vælge tabeller, kolonner og målinger, der er relevante for de spørgsmål, din agent skal besvare.

  3. Skab forberedelse til AI > Verificerede svar: Identificer dine mest almindelige spørgsmål og konfigurér verificerede svar i Prep for AI ved hjælp af passende visuelle effekter. Brug komplette, robuste spørgsmål som triggere (ikke delvise sætninger) for at forbedre matchningsnøjagtigheden.

  4. Tilføj Semantisk Model til dataagenten: Før du tilføjer AI-instruktioner i Prep for AI, skal du teste og validere svarene fra dataagenten. Dette trin hjælper dig med at forstå, hvor AI-instruktioner er nødvendige for at forbedre DAX-forespørgselsgenerering.

  5. Tilføj forberedelse til AI > AI-instruktioner: Baseret på dine valideringsresultater defineres forretningsterminologi, analysepræferencer og datakildeprioriteter i Prep for AI-instruktionerne (ikke i dataagentens instruktioner).

  6. Forbered rapportbilleder: Gennemgå rapporter, der er forbundet med den semantiske model, inklusive skjulte visuals og sider, for at sikre, at visuals har beskrivende titler. Velstrukturerede visuelle elementer hjælper AI'en med at forankre svarene ved hjælp af visuelle metadata såsom visuel titel, tabel, kolonne, anvendte målinger, anvendte filtre og mere.

  7. Verificér og test DAX: Svarnøjagtigheden afhænger af den genererede DAX-forespørgsel. Når du tester din dataagent, gennemgå DAX-forespørgslen i hvert svar for at sikre, at den er gyldig og besvarer spørgsmålet korrekt. Hvis resultaterne er forkerte, analyseres DAX for at identificere, hvilke konfigurationer (semantisk model, AI-dataskema, verificerede svar eller AI-instruktioner) der skal justeres.

    Skærmbillede af et dataagent-interface, der viser en brugerforespørgsel, AI-genereret salgssvar, trinspor og DAX-forespørgselskodepanel.

  8. Konfigurer dataagentinstruktioner: Tilføj instruktioner på dataagent-niveau kun for vejledning, der gælder på tværs af alle datakilder, der er konfigureret i agenten. Denne vejledning indeholder generelle præferencer for svarformatering, krydskilde-routingregler, almindelige forkortelser og tone. Tilføj ikke semantiske modelspecifikke instruktioner her, da de ikke sendes til DAX-genereringsværktøjet. For vejledning i konfiguration af agentinstruktioner, se konfigurationsvejledninger.

  9. Valider og iterer: LLM'er kan give forkerte resultater uden korrekt kontekst. Iterer løbende på din konfiguration og valider svar for at opbygge tillid til din dataagent. For at evaluere svar programmatisk kan du bruge Fabric dataagent Python SDK til at køre automatiserede evalueringer mod sandheds-spørgsmål-svar-par og analysere nøjagtighedsmålinger. Bemærk, at SDK'en kun er til evaluering i dette tilfælde og ikke kan ændre Semantic Models Prep for AI-konfigurationer. For detaljer, se Evaluer din dataagent. Derudover skal interessenter og slutbrugere inddrages i evalueringsprocessen. Deres feedback sikrer, at svarene stemmer overens med reelle forventninger og brugervenlighed, hvilket hjælper dig med at identificere huller, som automatiserede tjek kan overse.

  10. Implementér kildekontrol- og implementeringspipelines: Brug Git-integration og implementeringspipelines til at administrere dine dataagent-konfigurationer på tværs af udviklings-, test- og produktionsarbejdsområder. Denne praksis sikrer, at konfigurationsændringer testes og valideres, før de bliver forfremmet til produktion, hvor slutbrugerne får adgang til dem. For detaljer, se Source Control, CI/CD og ALM for Fabric data agent.

Tips

Du kan bruge ressourcer i fabric-toolbox repository som reference for at hjælpe dig gennem denne arbejdsgang. Dette arkiv indeholder:

Almindelige faldgruber, man bør undgå

  • Bruger ikke stjerneskema: Semantiske modeller, der bruger flade, denormaliserede tabeller eller pivoterede datastrukturer, gør DAX mindre effektiv og sværere at skrive korrekt. DAX er optimeret til stjerneskema med klare fakta- og dimensionstabeller. Afpivot brede tabeller til normaliserede strukturer, hvor hver række repræsenterer en enkelt observation.

  • At stole på skjulte felter: Verificerede svar virker ikke, hvis de refererer til skjulte kolonner i modellen.

  • Inklusive unødvendige tiltag: Semantiske modeller indeholder ofte hjælpermål og mellemliggende objekter, der bruges til at forbedre rapportinteraktiviteten. Når du konfigurerer dit AI-dataskema, skal du kun inkludere de målinger, der beregner faktiske forretningsmålinger. Udelukkelse af hjælpermålinger reducerer støj og hjælper DAX-genereringsværktøjet med at generere mere præcise forespørgsler.

  • Duplikerede eller overlappende mål: Flere målinger, der beregner lignende målinger (for eksempel samlet salg, salgsbeløb, omsætning), skaber tvetydighed. Konsolider eller differentiér tydeligt målinger og udeluk dubletter fra dit AI-dataskema.

  • Ikke-beskrivende navngivning: Objektnavne som TR_AMT, F_SLS eller DIM_GEO_01 giver ingen kontekst til DAX-genereringsværktøjet. Brug klare, erhvervsvenlige navne som Total Revenue, Sales eller Customer Geography. Hvis du ikke kan omdøbe objekter, skal du sikre, at beskrivelser og synonymer giver den nødvendige kontekst, så AI'en kan forstå deres formål.

  • Med henvisning til implicitte tiltag: Implicitte tiltag kan føre til uforudsigelige resultater. Opret eksplicitte DAX-målinger til beregninger, du ønsker, at brugerne skal forespørge, og sæt den korrekte standardopsummering (Sum, Gennemsnit, Ingen osv.) på numeriske kolonner for at forhindre utilsigtede aggregeringer.

  • Tvetydige datofelter: Flere datokolonner (ordredato, forsendelsesdato, forfaldsdato, kalenderkvartal/regnskabskvartal osv.) uden klar vejledning forvirrer AI'en. Brug Verificerede svar og AI-instruktioner i Prep for AI til at angive, hvilket datofelt der skal bruges som standard eller til specifikke spørgsmålstyper.

  • Modstridende instruktioner: AI-instruktioner, der modsiger Verified Answer-konfigurationer, skaber uforudsigelig adfærd.

  • Springer skema-forfining over: Store modeller med mange felter med lignende navne kræver fokuserede AI-dataskemaer.

  • Alt for komplekse instruktioner: Hold instruktionerne fokuserede og specifikke. AI'en fortolker, men garanterer ikke, at den følger komplekse, modstridende retningslinjer. Komplekse instruktioner kan også øge latenstiden.

Funktioner

For at følge disse retningslinjer kan du bruge nedenstående værktøjer fra fabric-toolbox GitHub-repositoriet:

Yderligere ressourcer