Muistiinpano
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää kirjautua sisään tai vaihtaa hakemistoa.
Tämän sivun käyttö edellyttää valtuutusta. Voit yrittää vaihtaa hakemistoa.
Tässä artikkelissa näytetään, miten dataagentti asetetaan Microsoft Fabric -järjestelmään käyttäen esimerkkinä lakehousea. Luomme ensin järvenrakennuksen, sitten luomme Fabric-dataagentin ja lisäämme järvenrakennuksen siihen. Jos sinulla on jo Power BI:n semanttinen malli, varmista, että sinulla on lukulupa olla vuorovaikutuksessa sen kanssa dataagentin kautta (kirjoituslupa vaaditaan vain semanttisen mallin muokkaamiseen tai ominaisuuksien, kuten tekoälyn valmistelun, käyttöön). Varaston, KQL-tietokannan tai ontologian kohdalla noudata samoja vaiheita ja valitse kyseinen lähde. Vaikka tämä kävelykierros käyttää järvitaloa, kaava on sama muissa lähteissä; vain tietolähteen valinta eroaa.
Prerequisites
- A maksettu F2 tai suurempi Fabric kapasiteetti tai Power BI Premium per kapasiteetti (P1 tai suurempi) kapasiteetilla, kun Microsoft Fabric on käytössä.
- Ota käyttöön ristiin-geo-käsittely ja ristiin-geo-tallennus tekoälylleFabric-dataagentin vuokralaisasetuksissa esitettyjen vaatimusten mukaisesti.
- Vähintään yksi näistä tietolähteistä, sisältäen dataa: varasto, järvitalo, Power BI:n semanttinen malli, KQL-tietokanta, peilattu tietokanta tai ontologia. Sinulla täytyy olla lukuoikeus tietolähteeseen.
Important
Varmista, että itsenäinen Copilot-kokemus on käytössä OneLake-luettelossa>Govern>Configurations>Tenant settings>Copilot>Standalone Copilot -kokemus. Jos se ei ole käytössä, et voi käyttää dataagenttia Copilot-tilanteissa, vaikka muut Copilot-vuokralaisten kytkimet olisivat päällä. Lisätietoja löytyy Copilot Power BI vuokralaisasetuksista.
Luo lakehouse AdventureWorksLH:n avulla
Luo ensin lakehouse ja täytä se tarvittavilla tiedoilla.
Jos sinulla on jo AdventureWorksLH-esiintymä lakehousessa (tai varastossa), voit ohittaa tämän vaiheen. Jos et, voit käyttää seuraavia ohjeita Fabric-muistikirjasta täyttääksesi järvenrakennuksen datalla.
Luo uusi muistikirja työtilaan, johon haluat luoda Fabric-dataagenttisi.
Valitse Resurssienhallinta-ruudun vasemmassa reunassa + Tietolähteet. Tämän vaihtoehdon avulla voit lisätä olemassa olevan lakehousen tai luoda uuden lakehousen. Selvyyden vuoksi luo uusi lakehouse ja anna sille nimi.
Lisää yläreunan soluun seuraava koodikatkelman:
import pandas as pd from tqdm.auto import tqdm base = "https://synapseaisolutionsa.z13.web.core.windows.net/data/AdventureWorks" # load list of tables df_tables = pd.read_csv(f"{base}/adventureworks.csv", names=["table"]) for table in (pbar := tqdm(df_tables['table'].values)): pbar.set_description(f"Uploading {table} to lakehouse") # download df = pd.read_parquet(f"{base}/{table}.parquet") # save as lakehouse table spark.createDataFrame(df).write.mode('overwrite').saveAsTable(table)Valitse Suorita kaikki.
Muutaman minuutin kuluttua Lakehouse täyttää tarvittavat tiedot.
Caution
Muistikirjat, jotka jatkavat toimintaansa (esimerkiksi sattumanvaraisten äärettömien silmukoiden tai jatkuvan kyselyn vuoksi), voivat kuluttaa Fabric-kapasiteettia loputtomasti. Kun tiedot on latautunut, pysäytä kaikki aktiiviset solut ja lopeta muistikirjan istunto (Muistikirjan työkalurivin > Lopeta istunto), jos et enää tarvitse niitä. Vältä pitkäkestoisten silmukoiden lisäämistä ilman aikakatkaisua.
Luo Fabric-dataagentti
Uuden Fabric-dataagentin luomiseksi siirry työtilaasi ja valitse + New Item -painike, kuten tässä kuvakaappauksessa näkyy:
Kaikki kohteet -välilehdeltä etsi Fabric data agent löytääksesi sopivan vaihtoehdon. Kun valinta on valittu, kehote pyytää sinua antamaan nimen Fabric-dataagentillesi, kuten tässä kuvakaappauksessa näkyy:
Kun olet syöttänyt nimen, jatka seuraavilla vaiheilla sovittaaksesi Fabric-dataagentin omiin tarpeisiisi.
Valitse tiedot
Valitse edellisessä vaiheessa luomasi lakehouse ja valitse sitten Lisää, kuten seuraavassa näyttökuvassa näkyy:
Kun järvenrakennus lisätään tietolähteeksi, Explorer-paneeli Fabric-dataagenttisivun vasemmalla puolella näyttää järventalon nimen. Valitse Lakehouse, jos haluat tarkastella kaikkia käytettävissä olevia taulukoita. Valintaruutujen avulla voit valita taulukot, jotka haluat antaa tekoälyn käyttöön. Valitse tässä skenaariossa seuraavat taulukot:
dimcustomerdimdatedimgeographydimproductdimproductcategorydimpromotiondimresellerdimsalesterritoryfactinternetsalesfactresellersales
Semanttisten mallien käyttöoikeudet tietoagenteissa
Käyttäjät tarvitsevat vain lukuluvan Power BI-semanttisessa mallissa voidakseen lisätä sen dataagenttiin ja esittää kysymyksiä agentin kautta. Työtilan käyttöoikeus (Member role) ja Build-oikeudet eivät ole tarpeen dataagenttien väliseen vuorovaikutukseen. Kirjoituslupa tarvitaan vain semanttisen mallin muokkaamiseen tai ominaisuuksien, kuten tekoälyn valmistelun, käyttämiseen.
Tämä käyttöoikeuksien muutos koskee vain dataagenttien kautta tapahtuvia vuorovaikutuksia. Muut käyttötavat (esim. Analyze in Excel tai direct report authorship) noudattavat standardeja Power BI:n käyttöoikeuksia.
Anna ohjeita
Jos haluat lisätä ohjeita, avaa oikeanpuoleinen ohjeruutu valitsemalla Tietoagentin ohjeet -painike. Voit lisätä seuraavat ohjeet.
AdventureWorksLH-tietolähde sisältää tietoja kolmesta taulukosta:
-
dimcustomer: asiakkaiden demografiset tiedot ja yhteystiedot. -
dimdate, päivämääriin liittyville tiedoille, esimerkiksi kalenteri- ja tilikausitieduksille -
dimgeographymaantieteellisiä tietoja, mukaan lukien kaupunkien nimet ja maan aluekoodit.
Käytä tätä tietolähdettä kyselyihin ja analyyseihin, joihin liittyy asiakastietoja, aikaan perustuvia tapahtumia ja maantieteellisiä sijainteja.
Anna esimerkkejä
Jos haluat lisätä esimerkkikyselyitä, avaa esimerkkikyselyt-ruutu oikealla valitsemalla Esimerkkikyselyt-painike . Tässä ruudussa on vaihtoehtoja lisätä tai muokata esimerkkikyselyitä kaikille tuetuille tietolähteille. Voit antaa tarvittavat esimerkit kullekin tietolähteelle valitsemalla Lisää tai Muokkaa esimerkkikyselyitä - seuraavassa näyttökuvassa esitetyllä tavalla:
Lisää tässä Esimerkkikyselyt luomaasi Lakehouse-tietolähteeseen.
Question: Calculate the average percentage increase in sales amount for repeat purchases for every zipcode. Repeat purchase is a purchase subsequent to the first purchase (the average should always be computed relative to the first purchase)
SELECT AVG((s.SalesAmount - first_purchase.SalesAmount) / first_purchase.SalesAmount * 100) AS AvgPercentageIncrease
FROM factinternetsales s
INNER JOIN dimcustomer c ON s.CustomerKey = c.CustomerKey
INNER JOIN dimgeography g ON c.GeographyKey = g.GeographyKey
INNER JOIN (
SELECT *
FROM (
SELECT
CustomerKey,
SalesAmount,
OrderDate,
ROW_NUMBER() OVER (PARTITION BY CustomerKey ORDER BY OrderDate) AS RowNumber
FROM factinternetsales
) AS t
WHERE RowNumber = 1
) first_purchase ON s.CustomerKey = first_purchase.CustomerKey
WHERE s.OrderDate > first_purchase.OrderDate
GROUP BY g.PostalCode;
Question: Show the monthly total and year-to-date total sales. Order by year and month.
SELECT
Year,
Month,
MonthlySales,
SUM(MonthlySales) OVER (PARTITION BY Year ORDER BY Year, Month ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS CumulativeTotal
FROM (
SELECT
YEAR(OrderDate) AS Year,
MONTH(OrderDate) AS Month,
SUM(SalesAmount) AS MonthlySales
FROM factinternetsales
GROUP BY YEAR(OrderDate), MONTH(OrderDate)
) AS t
Note
Esimerkkikysely-/kysymysparien lisäämistä ei tällä hetkellä tueta Power BI:n semanttisten mallien tietolähteissä.
Testaa ja päivitä Fabric-dataagentti
Nyt kun olet konfiguroinut Fabric-dataagentin, lisännyt Fabric-dataagentin ohjeet ja antanut esimerkkikyselyitä järvenrakennukselle, voit olla vuorovaikutuksessa sen kanssa esittämällä kysymyksiä ja vastaanottamalla vastauksia. Kun jatkat testaamista, voit lisätä lisää esimerkkejä ja tarkentaa ohjeita, jotta Fabric-dataagentin suorituskyky paranee entisestään. Tee yhteistyötä työtovereidesi kanssa palautteen keräämiseksi. Varmista annettujen esimerkkikyselyiden ja ohjeiden perusteella, että ne vastaavat niiden kysymysten tyyppiä, joita he haluavat esittää.
Julkaise Fabric-dataagentti
Kun olet validoinut Fabric-dataagentin suorituskyvyn, saatat päättää julkaista sen, jotta voit jakaa sen kollegoillesi, jotka haluavat tehdä Q&;-osiota. A ylimääräinen data. Valitse tässä tapauksessa Julkaise tässä näyttökuvassa esitetyllä tavalla:
Julkaise tietoagentti -ruutu avautuu seuraavassa näyttökuvassa esitetyllä tavalla:
Tässä laatikossa valitse Publish julkaistaksesi Fabric dataagentin. Julkaisun jälkeen dataagenttia voidaan käyttää mallikontekstiprotokollan (MCP) palvelimena.
Käytä Fabric-dataagenttia ohjelmallisesti
Voit käyttää Fabric-dataagenttia ohjelmallisesti Fabric-muistikirjassa. Määrittääksesi, onko Fabric dataagentilla julkaistu URL-arvo, valitse Settings, kuten seuraavassa kuvakaappauksessa näkyy:
Ennen kuin julkaiset Fabric-dataagentin, sillä ei ole julkaistua URL-arvoa, kuten seuraavassa kuvakaappauksessa näkyy:
Jos et ole aiemmin julkaissut Fabric-dataagenttia, voit julkaista sen edellisten ohjeiden mukaisesti. Voit sitten kopioida julkaistun URL-osoitteen ja käyttää sitä Fabric-muistikirjassa. Näin voit kysyä Fabric-dataagenttia tekemällä kutsuja Fabric-dataagentin API:lle Fabric-muistikirjassa. Liitä kopioitu URL-osoite tähän koodikatkelmaan. Sitten korvaa kysymys millä tahansa Fabric-dataagenttiin liittyvällä kyselyllä. Tätä esimerkkiä käytetään \<generic published URL value\> URL-osoitteena.
Important
Kun kutsut tietoagenttia ohjelmallisesti, toteuta:
- Kyselyn aikakatkaisu (katso esimerkki alla) määrittelemättömien silmukoiden välttämiseksi.
- Pienin kyselytaajuus (aloita 2–5 sekunnista; lisää vain tarvittaessa).
- Luotujen säikeiden tai resurssien siivoaminen valmistumisen jälkeen.
- Muistikirjan istunto suljetaan Fabric-kapasiteetin vapauttamiseksi.
Note
Säädä versiopinnejä (openai, synapseml, pandas, tqdm) uusimpiin validoituihin versioihin Fabric ajonaikaasi varten, jos nämä tarkat versiot vanhenevat.
%pip install "openai==1.70.0"
%pip install "synapseml==1.0.5" # Required for synapse.ml.mlflow (update version as needed)
%pip install pandas tqdm # Skip if already available in the Fabric runtime
Important
Koska OpenAI poisti Assistants API:n käytöstä, sovellusten tulisi käyttää MCP-päätelaitetta agenttien vuorovaikutukseen. Toisin kuin Assistants API, MCP-päätepiste ei tarjoa sisäänrakennettua keskustelunhallintaa, joten soittajien on orkestroittava monikierrosten vuorovaikutus ylläpitämällä keskustelutilaa ja tarjoamalla asiaankuuluvaa kontekstia pyyntöjen yli.
Kysy dataagenttia Python:sta
Seuraava esimerkki yhdistää MCP-päätepisteen, löytää työkalun, lähettää kysymyksen ja tulostaa vastauksen. Se käyttää credential uudelleen from Authenticate to Fabric -vaihetta ja MCP Python SDK:ta. Asenna SDK ensin:
%pip install mcp
import asyncio
from mcp import ClientSession
from mcp.client.streamable_http import streamablehttp_client
workspace_id = "<your-workspace-id>"
data_agent_id = "<your-data-agent-id>"
question = "<your question>"
mcp_url = (
f"https://api.fabric.microsoft.com/v1/mcp/workspaces/{workspace_id}"
f"/dataagents/{data_agent_id}/agent"
)
def get_auth_headers():
token = credential.get_token("https://api.fabric.microsoft.com/.default")
return {"Authorization": f"Bearer {token.token}"}
async def query_data_agent(question):
headers = get_auth_headers()
async with streamablehttp_client(mcp_url, headers=headers) as (read, write, _):
async with ClientSession(read, write) as session:
await session.initialize()
# The data agent exposes a single tool. Discover it, then call it.
tools = await session.list_tools()
tool = tools.tools[0]
question_arg = next(iter(tool.inputSchema["properties"]))
result = await session.call_tool(tool.name, {question_arg: question})
answers = [block.text for block in result.content if block.type == "text"]
return "\n".join(answers)
answer = asyncio.run(query_data_agent(question))
print(answer)