Σημείωμα
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να εισέλθετε ή να αλλάξετε καταλόγους.
Η πρόσβαση σε αυτήν τη σελίδα απαιτεί εξουσιοδότηση. Μπορείτε να δοκιμάσετε να αλλάξετε καταλόγους.
Αυτό το άρθρο δείχνει πώς μπορείτε να ρυθμίσετε έναν παράγοντα δεδομένων στο Microsoft Fabric χρησιμοποιώντας ένα lakehouse ως παράδειγμα προέλευσης δεδομένων. Πρώτα δημιουργούμε και συμπληρώνουμε ένα lakehouse και, στη συνέχεια, δημιουργούμε έναν παράγοντα δεδομένων Fabric και προσθέτουμε το lakehouse σε αυτό. Εάν έχετε ήδη ένα σημασιολογικό μοντέλο Power BI, βεβαιωθείτε ότι έχετε δικαίωμα ανάγνωσης για να αλληλεπιδράσετε με αυτό μέσω ενός παράγοντα δεδομένων (το δικαίωμα εγγραφής απαιτείται μόνο για την τροποποίηση του μοντέλου σημασιολογίας ή τη χρήση δυνατοτήτων όπως η Προετοιμασία για AI). Για μια αποθήκη, μια βάση δεδομένων KQL ή μια οντολογία, ακολουθήστε τα ίδια βήματα και επιλέξτε αυτήν την προέλευση. Αν και αυτή η περιήγηση χρησιμοποιεί ένα lakehouse, το μοτίβο είναι το ίδιο για άλλες πηγές. Μόνο η επιλογή της πηγής δεδομένων διαφέρει.
Important
Αυτή η δυνατότητα είναι σε προεπισκόπηση.
Prerequisites
- A επί πληρωμή F2 ή υψηλότεροι Fabric εκχωρημένοι πόροι ή εκχωρημένοι πόροι Power BI Premium ανά εκχωρημένους πόρους (P1 ή υψηλότεροι) με ενεργοποιημένο το Microsoft Fabric.
- Ενεργοποιήστε την επεξεργασία μεταξύ γεωγραφικών περιοχών και την αποθήκευση μεταξύ γεωγραφικών περιοχών για AI με βάση τις απαιτήσεις που εξηγούνται στις ρυθμίσεις μισθωτή παράγοντα δεδομένων Fabric.
- Τουλάχιστον μία από αυτές τις προελεύσεις δεδομένων, με δεδομένα: Μια αποθήκη, μια λίμνη, ένα σημασιολογικό μοντέλο Power BI, μια βάση δεδομένων KQL, μια βάση δεδομένων κατοπτρισμού ή μια οντολογία. Πρέπει να έχετε πρόσβαση ανάγνωσης στην προέλευση δεδομένων.
Important
Βεβαιωθείτε ότι η μεμονωμένη εμπειρία Copilot είναι ενεργοποιημένη στην πύλη διαχείρισης Power BI (Ρυθμίσεις μισθωτή > Copilot > Αυτόνομη εμπειρία Copilot). Εάν δεν είναι ενεργοποιημένο, δεν θα μπορείτε να χρησιμοποιήσετε τον παράγοντα δεδομένων μέσα σε σενάρια Copilot, ακόμα και αν είναι ενεργοποιημένοι άλλοι διακόπτες μισθωτή Copilot. Για λεπτομέρειες, ανατρέξτε στο θέμα Copilot στις ρυθμίσεις μισθωτή Power BI.
Δημιουργία lakehouse με AdventureWorksLH
Πρώτα, δημιουργήστε ένα lakehouse και συμπληρώστε το με τα απαραίτητα δεδομένα.
Εάν έχετε ήδη μια παρουσία της AdventureWorksLH σε ένα lakehouse (ή αποθήκη), μπορείτε να παραλείψετε αυτό το βήμα. Εάν όχι, μπορείτε να χρησιμοποιήσετε τις παρακάτω οδηγίες από ένα σημειωματάριο Fabric για να συμπληρώσετε το lakehouse με τα δεδομένα.
Δημιουργήστε ένα νέο σημειωματάριο στον χώρο εργασίας όπου θέλετε να δημιουργήσετε τον παράγοντα δεδομένων Fabric.
Στην αριστερή πλευρά του παραθύρου της Εξερεύνησης , επιλέξτε + Προελεύσεις δεδομένων. Αυτή η επιλογή σάς επιτρέπει να προσθέσετε μια υπάρχουσα λίμνη ή δημιουργεί ένα νέο lakehouse. Για λόγους σαφήνειας, δημιουργήστε ένα νέο lakehouse και εκχωρήστε ένα όνομα σε αυτό.
Στο επάνω κελί, προσθέστε το ακόλουθο τμήμα κώδικα:
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)Επιλέξτε Εκτέλεση όλων.
Μετά από λίγα λεπτά, το lakehouse συμπληρώνεται με τα απαραίτητα δεδομένα.
Caution
Τα σημειωματάρια που συνεχίζουν να εκτελούνται (για παράδειγμα, λόγω τυχαίων άπειρων βρόχων ή συνεχούς σταθμοσκόπησης) μπορούν να καταναλώνουν τη χωρητικότητα του Fabric επ' αόριστον. Αφού ολοκληρωθεί η φόρτωση των δεδομένων, διακόψτε τυχόν ενεργά κελιά και τερματίστε την περίοδο λειτουργίας του σημειωματαρίου (Γραμμή εργαλείων > σημειωματαρίου Διακοπή περιόδου λειτουργίας) εάν δεν τα χρειάζεστε πλέον. Αποφύγετε την προσθήκη βρόχων μεγάλης διάρκειας χωρίς χρονικό όριο.
Δημιουργία παράγοντα δεδομένων Fabric
Για να δημιουργήσετε έναν νέο παράγοντα δεδομένων Fabric, μεταβείτε στον χώρο εργασίας σας και επιλέξτε το κουμπί + Νέο στοιχείο, όπως φαίνεται σε αυτό το στιγμιότυπο οθόνης:
Στην καρτέλα Όλα τα στοιχεία, αναζητήστε Fabric παράγοντα δεδομένων για να εντοπίσετε την κατάλληλη επιλογή. Αφού επιλεγεί, ένα μήνυμα σάς ζητά να δώσετε ένα όνομα για τον παράγοντα δεδομένων Fabric, όπως φαίνεται σε αυτό το στιγμιότυπο οθόνης:
Αφού εισαγάγετε το όνομα, ακολουθήστε τα παρακάτω βήματα για να ευθυγραμμίσετε τον παράγοντα δεδομένων Fabric με τις συγκεκριμένες απαιτήσεις σας.
Επιλογή των δεδομένων
Επιλέξτε το σπίτι λίμνης που δημιουργήσατε στο προηγούμενο βήμα και, στη συνέχεια, επιλέξτε Προσθήκη, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Μόλις προστεθεί το lakehouse ως προέλευση δεδομένων, το τμήμα παραθύρου Explorer στην αριστερή πλευρά της σελίδας παράγοντα δεδομένων Fabric εμφανίζει το όνομα του lakehouse. Επιλέξτε τη λίμνη για να δείτε όλους τους διαθέσιμους πίνακες. Χρησιμοποιήστε τα πλαίσια ελέγχου για να επιλέξετε τους πίνακες που θέλετε να καταστήσετε διαθέσιμους στο AI. Για αυτό το σενάριο, επιλέξτε αυτούς τους πίνακες:
dimcustomerdimdatedimgeographydimproductdimproductcategorydimpromotiondimresellerdimsalesterritoryfactinternetsalesfactresellersales
Δικαιώματα για σημασιολογικά μοντέλα σε πράκτορες δεδομένων
Οι χρήστες χρειάζονται μόνο δικαίωμα ανάγνωσης σε ένα σημασιολογικό μοντέλο Power BI για να το προσθέσουν σε έναν παράγοντα δεδομένων και να υποβάλουν ερωτήσεις μέσω του εκπροσώπου. Η πρόσβαση στον χώρο εργασίας (ρόλος μέλους) και το δικαίωμα δημιουργίας δεν απαιτούνται για αλληλεπίδραση μέσω παραγόντων δεδομένων. Το δικαίωμα εγγραφής απαιτείται μόνο για την τροποποίηση του μοντέλου σημασιολογίας ή τη χρήση δυνατοτήτων όπως η Προετοιμασία για AI.
Αυτή η αλλαγή δικαιωμάτων ισχύει μόνο για αλληλεπιδράσεις μέσω παραγόντων δεδομένων. Άλλα μοτίβα πρόσβασης (για παράδειγμα, Ανάλυση στο Excel ή απευθείας σύνταξη αναφορών) ακολουθούν τα τυπικά δικαιώματα Power BI.
Παροχή οδηγιών
Για να προσθέσετε οδηγίες, επιλέξτε το κουμπί Οδηγίες παράγοντα δεδομένων για να ανοίξετε το παράθυρο οδηγιών στα δεξιά. Μπορείτε να προσθέσετε τις παρακάτω οδηγίες.
Η AdventureWorksLH προέλευση δεδομένων περιέχει πληροφορίες από τρεις πίνακες:
-
dimcustomer, για λεπτομερή δημογραφικά στοιχεία πελατών και στοιχεία επικοινωνίας -
dimdate, για δεδομένα που σχετίζονται με ημερομηνίες - για παράδειγμα, ημερολογιακές και οικονομικές πληροφορίες -
dimgeography, για γεωγραφικές λεπτομέρειες, συμπεριλαμβανομένων των ονομάτων πόλεων και των κωδικών περιοχών.
Χρησιμοποιήστε αυτήν την προέλευση δεδομένων για ερωτήματα και αναλύσεις που αφορούν λεπτομέρειες πελατών, συμβάντα βάσει χρόνου και γεωγραφικές θέσεις.
Δώστε παραδείγματα
Για να προσθέσετε παραδείγματα ερωτημάτων, επιλέξτε το κουμπί Παραδείγματα ερωτημάτων για να ανοίξετε το παράθυρο παραδειγμάτων ερωτημάτων στα δεξιά. Αυτό το τμήμα παραθύρου παρέχει επιλογές για την προσθήκη ή επεξεργασία παραδειγμάτων ερωτημάτων για όλες τις υποστηριζόμενες προελεύσεις δεδομένων. Για κάθε προέλευση δεδομένων, μπορείτε να επιλέξετε Προσθήκη ή Επεξεργασία παραδειγμάτων ερωτημάτων για να εισαγάγετε τα σχετικά παραδείγματα, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Εδώ, θα πρέπει να προσθέσετε Παραδείγματα ερωτημάτων για την προέλευση δεδομένων lakehouse που δημιουργήσατε.
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
Η προσθήκη δειγμάτων ζευγών ερωτημάτων/ερωτήσεων δεν υποστηρίζεται προς το παρόν για προελεύσεις δεδομένων σημασιολογικού μοντέλου Power BI.
Δοκιμή και αναθεώρηση του παράγοντα δεδομένων Fabric
Τώρα που ρυθμίσατε τις παραμέτρους του παράγοντα δεδομένων Fabric, προσθέσατε οδηγίες για τον παράγοντα δεδομένων Fabric και παρείχατε παραδείγματα ερωτημάτων για το lakehouse, μπορείτε να αλληλεπιδράσετε μαζί του υποβάλλοντας ερωτήσεις και λαμβάνοντας απαντήσεις. Καθώς συνεχίζετε τις δοκιμές, μπορείτε να προσθέσετε περισσότερα παραδείγματα και να βελτιώσετε τις οδηγίες, για να βελτιώσετε περαιτέρω τις επιδόσεις του παράγοντα δεδομένων Fabric. Συνεργαστείτε με τους συναδέλφους σας για να συγκεντρώσετε σχόλια και, με βάση τα σχόλιά τους, βεβαιωθείτε ότι τα παραδείγματα ερωτημάτων και οδηγιών που παρέχονται ευθυγραμμίζονται με τους τύπους ερωτήσεων που θέλουν να κάνουν.
Δημοσίευση του παράγοντα δεδομένων Fabric
Αφού επικυρώσετε τις επιδόσεις του παράγοντα δεδομένων Fabric, μπορεί να αποφασίσετε να το δημοσιεύσετε, ώστε να μπορείτε στη συνέχεια να το μοιραστείτε με τους συναδέλφους σας που θέλουν να κάνουν Q& Α πάνω από δεδομένα. Σε αυτήν την περίπτωση, επιλέξτε Δημοσίευση, όπως φαίνεται σε αυτό το στιγμιότυπο οθόνης:
Ανοίγει το πλαίσιο παράγοντα δεδομένων Δημοσίευση, όπως φαίνεται σε αυτό το στιγμιότυπο οθόνης:
Σε αυτό το πλαίσιο, επιλέξτε Δημοσίευση για να δημοσιεύσετε τον παράγοντα δεδομένων Fabric. Μόλις δημοσιευτεί, ο παράγοντας δεδομένων μπορεί να καταναλωθεί ως διακομιστής πρωτοκόλλου περιβάλλοντος μοντέλου (MCP).
Χρήση του παράγοντα δεδομένων Fabric μέσω προγραμματισμού
Μπορείτε να χρησιμοποιήσετε τον παράγοντα δεδομένων Fabric μέσω προγραμματισμού μέσα σε ένα σημειωματάριο Fabric. Για να προσδιορίσετε εάν ο παράγοντας δεδομένων Fabric έχει δημοσιευμένη τιμή διεύθυνσης URL, επιλέξτε Settings, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Πριν δημοσιεύσετε τον παράγοντα δεδομένων Fabric, δεν έχει δημοσιευμένη τιμή διεύθυνσης URL, όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης:
Εάν δεν έχετε δημοσιεύσει τον παράγοντα δεδομένων Fabric στο παρελθόν, μπορείτε να τον δημοσιεύσετε ακολουθώντας τις οδηγίες στα προηγούμενα βήματα. Στη συνέχεια, μπορείτε να αντιγράψετε τη δημοσιευμένη διεύθυνση URL και να τη χρησιμοποιήσετε στο σημειωματάριο Fabric. Με αυτόν τον τρόπο, μπορείτε να υποβάλετε ερώτημα στον παράγοντα δεδομένων Fabric πραγματοποιώντας κλήσεις στο API του παράγοντα δεδομένων Fabric σε ένα σημειωματάριο Fabric. Επικολλήστε τη διεύθυνση URL που αντιγράψατε σε αυτό το τμήμα κώδικα. Στη συνέχεια, αντικαταστήστε την ερώτηση με οποιοδήποτε ερώτημα που σχετίζεται με τον παράγοντα δεδομένων Fabric. Αυτό το παράδειγμα χρησιμοποιείται \<generic published URL value\> ως διεύθυνση URL.
Important
Όταν καλείτε έναν πράκτορα δεδομένων μέσω προγραμματισμού, υλοποιήστε:
- Ένα χρονικό όριο ψηφοφορίας (δείτε το παρακάτω παράδειγμα) για την αποφυγή αόριστων βρόχων.
- Ελάχιστη συχνότητα ψηφοφορίας (ξεκινήστε στα 2-5 δευτερόλεπτα, αυξήστε μόνο εάν χρειάζεται).
- Εκκαθάριση δημιουργημένων νημάτων ή πόρων μετά την ολοκλήρωση.
- Τερματισμός περιόδου λειτουργίας σημειωματαρίου όταν ολοκληρωθεί για να απελευθερωθούν οι εκχωρημένοι πόροι του Fabric.
Note
Προσαρμόστε τις καρφίτσες έκδοσης (openai, synapseml, pandas, tqdm) στις πιο πρόσφατες επικυρωμένες εκδόσεις για τον χρόνο εκτέλεσης του Fabric σας, εάν αυτές ακριβώς οι εκδόσεις είναι παρωχημένες.
%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
Δεδομένου ότι το OpenAI απέσυρε το Assistants API, οι εφαρμογές θα πρέπει να χρησιμοποιούν το τελικό σημείο MCP για αλληλεπιδράσεις πρακτόρων. Σε αντίθεση με το Assistants API, το τελικό σημείο MCP δεν παρέχει ενσωματωμένη διαχείριση συνομιλιών, επομένως οι καλούντες πρέπει να ενορχηστρώνουν αλληλεπιδράσεις πολλαπλών στροφών διατηρώντας την κατάσταση συνομιλίας και παρέχοντας σχετικό πλαίσιο σε όλα τα αιτήματα.
Υποβολή ερωτήματος στον πράκτορα δεδομένων από την Python
Το παρακάτω παράδειγμα συνδέεται με το τελικό σημείο MCP, ανακαλύπτει το εργαλείο, στέλνει μια ερώτηση και εκτυπώνει την απάντηση. Επαναχρησιμοποιεί το credential βήμα από τον έλεγχο ταυτότητας στο Fabric και χρησιμοποιεί το MCP Python SDK. Εγκαταστήστε πρώτα το SDK:
%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)