Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Fabric data agent Python SDK giver programmatisk adgang til Fabric data agent-artefakter. Det er designet til brugere med kode-først, som ønsker at oprette, konfigurere, opdatere og offentliggøre dataagenter uden at bruge Fabric-portalen. Du kan køre SDK'en inde i en Microsoft Fabric-notebook eller fra dit eget miljø, efter du har autentificeret dig til Fabric.
Vigtigt!
Denne funktion er i prøveversion.
Ledelsesplan og køretid
SDK'et er et management-plane-værktøj. Brug det til at styre livscyklussen for en dataagent: skab artefaktet, tilføj og konfigurér datakilder, sæt instruktioner og eksempelforespørgsler, og publicér. Det kører på Fabric public REST API, som er den samme overflade, du allerede bruger til andre arbejdsområder og items, så autentificering og anmodningsmønstre er de samme.
Managementplanet er adskilt fra, hvordan du forespørger dataagenten under kørsel. Efter du har offentliggjort en dataagent, skal du forespørge den gennem dens Model Context Protocol (MCP)-endpoint fra værktøjer, applikationer og andre agentiske oplevelser. For mere information, se Data agent som en Model Context Protocol-server.
Prerequisites
- Et Fabric-arbejdsområde med en kapacitet, der understøtter dataagenter.
- En understøttet datakilde i arbejdsområdet, såsom et lakehouse, lager, Power BI semantisk model eller KQL-database.
- Python 3.10 eller nyere.
- Til udførelse uden for en Fabric-notebook findes der en måde at autentificere til Fabric, såsom Azure CLI eller en service principal.
Installation
SDK'et er offentliggjort på PyPI som fabric-data-agent-sdk. Installer det ved at bruge pip:
%pip install fabric-data-agent-sdk
Autentificér til Fabric
Når du kører SDK'en inde i en Fabric-notebook, håndterer notebooken autentificeringen for dig.
Når du kører SDK'en uden for Fabric, skal du først logge ind på Fabric. Det følgende eksempel logger ind med Azure CLI-legitimationen og sætter den som standard for sessionen. Du kan bruge enten en brugerkonto eller en servicehovedperson.
from azure.identity import AzureCliCredential
from fabric.analytics.environment.credentials import (
SetFabricAnalyticsDefaultTokenCredentialsGlobally,
)
credential = AzureCliCredential()
SetFabricAnalyticsDefaultTokenCredentialsGlobally(credential)
Bemærkning
Den konto eller tjenesteprincipal, du autentificerer med, skal have tilladelse til at oprette og administrere elementer i det målrettede arbejdsområde.
Opret en dataagent
Opret en dataagent i et arbejdsområde. Erstat arbejdsområdets ID med ID'et for det arbejdsområde, hvor dataagenten findes.
from fabric.dataagent.client import create_data_agent
workspace_id = "<your-workspace-id>"
agent = create_data_agent(
data_agent_name="Quickstart data agent",
workspace_id=workspace_id,
)
Konfigurer dataagenten og tilføj datakilder
Indstil agentinstruktionerne, og tilføj derefter en datakilde. Brug artefakt-ID'et fra en eksisterende lakehouse, lager, semantisk model eller KQL-database.
agent_instructions = "<your agent instructions>"
datasource_id = "<your-datasource-id>"
agent.update_settings(ai_instructions=agent_instructions)
agent.add_staging_datasource(
artifact_name_or_id=datasource_id,
workspace_id_or_name=workspace_id,
)
Du kan også tilføje instruktioner til datakilden og eksempelforespørgsler for at forbedre kvaliteten af dataagentens svar. For at lære mere, se Fabric data agent SDK-eksemplerne på GitHub.
Offentliggør dataagenten
Offentliggør den trinsatte konfiguration, så dataagenten er tilgængelig for forespørgsler.
agent.publish_staging(description="Initial publish")
Bemærkning
Udgivelse gennem SDK'en fungerer både inden for og uden for Fabric. At publicere en dataagent til Microsoft 365 Copilot bruger endnu ikke det offentlige API, så du gør det stadig fra Fabric, enten i portalen eller ved at køre SDK'en i en Fabric-notebook.
Forespørg en offentliggjort dataagent
Efter du har offentliggjort dataagenten, skal du forespørge den via dens MCP-endpoint. MCP-endpointet er køretids- og forbrugsoverfladen for dataagenten. Du kan forbinde til det fra værktøjer, applikationer og andre agenter for at forespørge dataagenten, stille spørgsmål og modtage svar. For opsætningstrin og understøttede klienter, se Data agent som en Model Context Protocol-server.
Vigtigt!
Dataagenten fungerer kun som en MCP-server efter du har udgivet den. Hvis du ikke publicerer dataagenten, virker MCP-endpointet ikke.
Få endpoint-URL'en
Du kan få MCP-endpointets URL på to måder:
Kopier det fra dataagent-indstillingerne. Efter du har offentliggjort dataagenten, åbner du fanen Model Context Protocol i agentindstillingerne og kopierer MCP-serverens URL. For detaljer, se Data agent som en Model Context Protocol-server.
Byg det manuelt. Konstruer URL'en ud fra dit arbejdsområde-ID og dataagent-ID (artefakt) ved at bruge følgende format:
https://api.fabric.microsoft.com/v1/mcp/workspaces/{WorkspaceId}/dataagents/{DataAgentId}/agentErstat pladsholderne med værdier fra din publicerede dataagent:
Pladsholder Beskrivelse {WorkspaceId}ID'et for Fabric-arbejdsområdet, der indeholder dataagenten. {DataAgentId}ID'et på den publicerede dataagent. En manuelt opbygget URL virker kun, efter du har offentliggjort dataagenten. Hvis dataagenten ikke er offentliggjort, returnerer endpointet en fejl, selv når URL'en er korrekt.
Godkendelse
Forespørgsler til MCP-endpointet skal autentificeres mod Fabric. Sørg for, at din klient inkluderer et gyldigt bærertoken med tilladelser til at få adgang til målarbejdsområdet og dataagenten. Tokenet kan repræsentere enten en brugeridentitet eller en serviceprincipal (SPN).
Tilgængelige værktøjer
Fabric-dataagenten eksponerer en MCP-server, der leverer et enkelt værktøj. Kunder kalder dette værktøj for at sende et spørgsmål til dataagenten og modtage det genererede svar.
Forespørg dataagenten fra Python
Følgende eksempel forbinder til MCP-endpointet, opdager værktøjet, sender et spørgsmål og printer svaret. Den genbruger steget credential fra Authenticate to Fabric og bruger MCP Python SDK. Installer SDK'en først:
%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)