Använda Fabric dataagent från Microsoft Foundry Services (förhandsversion)

Dataagenten i Microsoft Fabric omvandlar företagsdata till konversationssystem för frågor och svar. Det gör det möjligt för användare att interagera med sina data via chatt, för att upptäcka användbara insikter. Ett sätt att använda Fabric dataagenten är via Foundry Agent Service, en kärnkomponent i Microsoft Foundry. Genom integrering av Fabric dataagenter med Foundry kan dina Azure AI-agenter direkt utnyttja de omfattande, strukturerade och semantiska data som finns tillgängliga i Microsoft Fabric OneLake. Den här integreringen ger omedelbar åtkomst till högkvalitativa företagsdata och ger dina Azure AI-agenter möjlighet att generera användbara insikter och effektivisera analytiska arbetsflöden. Organisationer kan sedan förbättra det datadrivna beslutsfattandet med Fabric dataagent som en kraftfull kunskapskälla i sina Azure AI-miljöer.

Viktigt!

Den här funktionen är i förhandsversion. Använd den senaste beta- eller förhandsversionen av Azure AI-agenter Python SDK.

Förutsättningar

  • En betald F2 eller högre Fabric Kapacitet, eller en Power BI Premium kapacitet per kapacitet (P1 eller högre) med Microsoft Fabric Aktiverat.
  • Aktivera korsgeo-bearbetning och korsgeo-lagring för AI baserat på krav som beskrivs i klientinställningarna för Fabric-dataagent.
  • Minst en av dessa datakällor, med data: Ett lager, ett sjöhus, en Power BI-semantisk modell, en KQL-databas, en speglad databas eller en ontologi. Du måste ha läsbehörighet till datakällan.
  • Utvecklare och slutanvändare i Foundry måste ha minst rollen AI Developer Rollbaserad åtkomstkontroll (RBAC).

Så här fungerar det

Agent Setup: I Agent Service skapar du en ny agent och lägger till Fabric dataagent som en av dess kunskapskällor. För att upprätta den här anslutningen behöver du arbetsyte-ID och artefakt-ID för Fabric-dataagenten. Konfigurationen gör det möjligt för din Azure AI-agent att utvärdera tillgängliga källor när den tar emot en fråga för att säkerställa att den anropar rätt verktyg för att bearbeta begäran. För närvarande kan du bara lägga till en Fabric dataagent som en kunskapskälla till din Azure AI-agent.

Anmärkning

Den modell som du väljer i Azure AI Agent-konfigurationen används endast för Azure AI-agentorkestrering och svarsgenerering. Det påverkar inte den modell som Fabric dataagenten använder.

Query Processing: När en användare skickar en fråga från Foundry Playground avgör agenttjänsten om Fabric dataagent är det bästa verktyget för uppgiften eller inte. I så fall Azure AI-agenten:

  • Använder slutanvändarens identitet för att generera säkra frågor över de datakällor som användaren har behörighet att komma åt inifrån Fabric dataagenten.
  • Anropar Fabric för att hämta och bearbeta data för att säkerställa en smidig, automatiserad upplevelse.
  • Kombinerar resultatet från Fabric dataagent med sin egen logik för att generera omfattande svar. Identity Passthrough(On-Behalf-Of) auktorisering skyddar det här flödet för att säkerställa robust säkerhet och korrekt åtkomstkontroll över företagsdata.

Anmärkning

Fabric-dataagenten och Foundry-resurserna ska finnas i samma klientorganisation och både Microsoft Fabric och Foundry ska loggas in med samma konto.

Lägga till Fabric dataagent i din Azure AI-agent

Du kan lägga till en Fabric dataagent i din Azure AI-agent antingen programmatiskt eller med användargränssnittet (UI). Detaljerade kodexempel och ytterligare instruktioner finns i Azure ai-agentintegreringsdokumentation.

Lägg till Fabric dataagent via användargränssnittet:

  • Navigera till det vänstra fönstret. Under Skapa och anpassa, välj Agenter, som visas i följande skärmbild:

Skärmbild som visar huvudsidan Azure Foundry.

Det här steget visar listan över dina befintliga Azure AI-agenter. Du kan lägga till Fabric i någon av dessa agenter eller välja Ny agent för att skapa en ny agent. Skapande av ny agent genererar ett unikt agent-ID och ett standardnamn. Du kan ändra namnet när som helst. Mer information finns i What is Azure OpenAI in Foundry Portal.

  • Börja lägga till en kunskapskälla: Välj knappen Lägg till, som visas i följande skärmdump.

Skärmbild som visar tillägg av Fabric-dataagent som kunskap.

Det här steget öppnar en meny med typer av kunskapskällor som stöds.

  • Välj Microsoft Fabric som Källa: I listan väljer du Microsoft Fabric enligt följande skärmbild:

Screenshot som visar val av Fabric som kunskapskälla.

Med det här alternativet kan din agent komma åt Fabric dataagenten.

  • Skapa en anslutning: Om du tidigare har upprättat en anslutning till en Fabric dataagent kan du återanvända den anslutningen för din nya Azure AI-agent. Annars väljer du Ny anslutning för att skapa en anslutning, enligt följande skärmbild:

Skärmbild som visar hur du skapar en ny Fabric-anslutning.

Fönstret Skapa en ny Microsoft Fabric anslutning öppnas, enligt följande skärmbild:

Skärmbild som visar hur du skapar en anslutning.

När du konfigurerar anslutningen anger du Fabric-dataagentens värden workspace-id och artifact-id som anpassade nycklar. Du hittar värdena workspace-id och artifact-id i den publicerade Fabric dataagentslutpunkten. Slutpunkten för din Fabric dataagent har det här formatet:

https://fabric.microsoft.com/groups/ < > workspace_id/aiskills/<artifact-id> och markera kryssrutan Is Secret (Är hemlighet)

Tilldela slutligen ett namn till anslutningen och välj om du vill göra det tillgängligt för alla projekt i Foundry eller begränsa det till det aktuella projektet.

När du har valt Connect läggs Microsoft Fabric-dataagenten till som en Knowledge resurs enligt följande skärmbild:

Skärmbild som visar hur du lägger till instruktioner.

Du måste också ge instruktioner till din Azure AI-agent om när, hur och under vilka villkor du ska använda Fabric dataagenten. Från Azure AI-agentens perspektiv behandlas Fabric-dataagenten som ett Fabric verktyg, så du kan referera till det som sådant i dina instruktioner.

Du kan också justera distributionsmodellen, lägga till Åtgärder eller ändra modellinställningar baserat på dina användningsfallskrav. När din Azure AI-agent är helt konfigurerad väljer du Try in playground för att testa dess prestanda.

Lägg till Fabric dataagent programmatiskt: Följande steg beskriver hur du lägger till en Fabric dataagent programmatiskt till din Azure AI-agent i Python. För andra språk (C#, JavaScript), se den här resursen.

Steg 1: Skapa en projektklient

Skapa ett klientobjekt som innehåller connection string som ansluter till ditt AI-projekt och andra resurser.

import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

Steg 2: Skapa en agent med verktyget Microsoft Fabric aktiverat

Om du vill göra Fabric dataagentverktyget tillgängligt för din Azure AI-agent använder du en anslutning för att initiera verktyget och koppla det till agenten. Du hittar anslutningen i avsnittet anslutna resurser i projektet i Foundry-portalen.

# The Fabric connection ID can be found in the Foundry project as a property of the Fabric tool
# Your connection ID is in the format /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.MachineLearningServices/workspaces/<your-project-name>/connections/<your-fabric-connection-name>
conn_id = "your-connection-id"

# Initialize the AI project client
project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# Initialize agent Fabric tool and add the connection ID
fabric = FabricTool(connection_id=conn_id)

# Create agent with the Fabric tool and process assistant run
with project_client:
    agent = project_client.agents.create_agent(
        model="gpt-4o",
        name="my-assistant",
        instructions="You are a helpful assistant",
        tools=fabric.definitions,
        headers={"x-ms-enable-preview": "true"},
    )
    print(f"Created agent, ID: {agent.id}")

Steg 3: Skapa en tråd

# Create thread for communication
thread = project_client.agents.create_thread()
print(f"Created thread, ID: {thread.id}")

# Create message to thread
# Remember to update the message with your data
message = project_client.agents.create_message(
    thread_id=thread.id,
    role="user",
    content="what is top sold product in Contoso last month?",
)
print(f"Created message, ID: {message.id}")

Steg 4: Skapa ett kör och kontrollera resultatet

Skapa en körning och observera att modellen använder verktyget Fabric dataagent för att ge ett svar på användarens fråga.

# Create and process agent run in thread with tools
run = project_client.agents.create_and_process_run(thread_id=thread.id, assistant_id=agent.id)
print(f"Run finished with status: {run.status}")

if run.status == "failed":
    print(f"Run failed: {run.last_error}")

# Delete the assistant when done
project_client.agents.delete_agent(agent.id)
print("Deleted agent")

# Fetch and log all messages
messages = project_client.agents.list_messages(thread_id=thread.id)
print(f"Messages: {messages}")