Consume Fabric dataagent fra Microsoft Foundry Services (forhåndsvisning)

Dataagent i Microsoft Fabric omdanner virksomhedsdata til samtalebaserede Q& Et system. Det gør det muligt for brugerne at interagere med deres data via chat, så de kan få indsigt, der kan handles på. En måde at udnytte Fabric data agent på er gennem Foundry Agent Service, en kernekomponent i Microsoft Foundry. Gennem integration af Fabric-dataagenter med Foundry kan dine Azure AI-agenter direkte få adgang til de rige, strukturerede og semantiske data, der er tilgængelige i Microsoft Fabric OneLake. Denne integration giver øjeblikkelig adgang til virksomhedsdata af høj kvalitet og giver dine Azure AI-agenter mulighed for at generere handlingsorienterede indsigter og effektivisere analytiske arbejdsgange. Organisationer kan derefter forbedre datadrevne beslutninger med Fabric data agent som en stærk videnskilde i deres Azure AI-miljøer.

Important

Denne funktion er en prøveversion. Brug den nyeste preview-udgivelse af azure-ai-projects Python SDK.

Important

Når du konfigurerer Fabric-dataagenter til at blive forbrugt i Microsoft Foundry Service, kan svar, der returneres af Fabric-dataagenter, sendes uden for Fabric's overholdelsesgrænse eller geografiske område og behandles og/eller gemmes i henhold til Microsoft Foundry Service(s) gældende vilkår og datahåndteringspolitikker.

Prerequisites

  • Udviklere og slutbrugere i Foundry skal mindst have rollen AI Developer Role-Based adgangskontrol (RBAC).

Sådan fungerer det

Agent Setup: I Agent Service opretter du en ny agent og tilføjer Fabric dataagent som en af dens videnskilder. For at etablere denne forbindelse skal du bruge arbejdsområde-ID og artefakt-ID for Fabric-dataagenten. Opsætningen gør det muligt for din Azure AI-agent at evaluere tilgængelige kilder, når den modtager en forespørgsel, for at sikre, at den aktiverer det korrekte værktøj til at behandle anmodningen. I øjeblikket kan du kun tilføje én Fabric-dataagent som videnskilde til din Azure AI-agent.

Note

Den model, du vælger i Azure AI Agent-opsætningen, bruges kun til Azure AI-agent-orkestrering og responsgenerering. Det påvirker ikke den model, som Fabric-dataagenten bruger.

Query Processing: Når en bruger sender en forespørgsel fra Foundry-legepladsen, afgør Agent Service, om Fabric dataagent er det bedste værktøj til opgaven. Hvis det er, så gør Azure AI-agenten:

  • Bruger slutbrugerens identitet til at generere sikre forespørgsler over de datakilder, brugeren har tilladelse til at tilgå fra Fabric-dataagenten.
  • Aktiverer Fabric for at hente og behandle dataene for at sikre en glat, automatiseret oplevelse.
  • Kombinerer resultaterne fra Fabric data agent med sin egen logik for at generere omfattende svar. Godkendelse af identitetsadgang (on-Behalf-Of) sikrer dette flow for at sikre robust sikkerhed og korrekt adgangskontrol på tværs af virksomhedsdata.

Note

Fabric-dataagenten og Foundry-ressourcerne burde være på samme tenant, og både Microsoft Fabric og Foundry burde være logget ind med samme konto.

Add Fabric data agent to your Azure AI Agent

Du kan tilføje en Fabric-dataagent til din Azure AI-agent enten programmatisk eller via brugergrænsefladen (UI). For detaljerede kodeeksempler og yderligere instruktioner, se dokumentationen for integration af Azure AI Agent.

Tilføj Fabric dataagent via UI:

  • Gå til venstre rude. Under Opret og tilpasskal du vælge Agentersom vist på følgende skærmbillede:

Skærmbillede, der viser hovedsiden Azure Foundry.

Dette trin viser listen over dine eksisterende Azure AI-agenter. Du kan tilføje Fabric til en af disse agenter, eller du kan vælge Ny agent for at oprette en ny agent. Oprettelse af ny agent genererer et entydigt agent-id og et standardnavn. Du kan når som helst ændre dette navn. For mere information, se Hvad er Azure OpenAI i Foundry portal.

  • Start tilføjelse af en videnskilde: Vælg knappen Tilføj som vist på følgende skærmbillede:

Skærmbillede, der viser tilføjelsen af Fabric dataagent som knowledge.

Dette trin åbner en menu over understøttede videnskildetyper.

  • Vælg Microsoft Fabric som kilde: Fra listen vælger du Microsoft Fabric, som vist i følgende skærmbillede:

Skærmbillede viser valg af Fabric som videnskilde.

Med denne mulighed kan din agent få adgang til Fabric-dataagenten.

  • Opret en forbindelse: Hvis du tidligere har oprettet en forbindelse til en Fabric dataagent, kan du genbruge forbindelsen til din nye Azure AI Agent. Ellers skal du vælge Ny forbindelse for at oprette en forbindelse, som vist på følgende skærmbillede:

Skærmbillede, der viser, hvordan man opretter en ny Fabric-forbindelse.

Vinduet Opret en ny Microsoft Fabric forbindelse åbner, som vist i følgende skærmbillede:

Skærmbillede, der viser oprettelse af en forbindelse.

Når du sætter forbindelsen op, skal du angive Fabric dataagenten workspace-id og artifact-id værdier som brugerdefinerede nøgler. Du kan finde værdierne workspace-id og artifact-id i det publicerede Fabric dataagent-endpoint. Dit Fabric dataagent-endpoint har dette format: https://fabric.microsoft.com/groups/<workspace_id>/aiskills/<artifact-id>. Vælg afkrydsningsboksen Er hemmelig.

Endelig tildel et navn til din forbindelse, og vælg om det vil gøres tilgængeligt for alle projekter i Foundry eller begrænse det til det nuværende projekt.

Efter du har valgt Connect, tilføjes den Microsoft Fabric dataagent som en Knowledge ressource, som vist på følgende skærmbillede:

Skærmbillede, der viser, hvordan du tilføjer instruktioner.

Du skal også give instruktioner til din Azure AI-agent om hvornår, hvordan og under hvilke betingelser du skal bruge Fabric-dataagenten. Set fra Azure AI-agentens perspektiv behandles Fabric-dataagenten som et Fabric-værktøj, så du kan henvise til den som sådan i dine instruktioner.

Du kan også justere udrulningsmodellen, tilføje handlinger eller ændre modelindstillinger baseret på dine krav til use case. Når din Azure AI-agent er fuldt konfigureret, vælg Prøv i playground for at teste dens ydeevne.

Tilføj Fabric dataagent programmatisk: Følgende trin beskriver, hvordan du programmatisk tilføjer en Fabric dataagent til din Azure AI-agent i Python. For andre sprog (C#, JavaScript), se denne ressource.

Trin 1: Opsæt miljøvariabler og importer SDK'en

Sæt følgende miljøvariabler, før du kører koden:

  • PROJECT_ENDPOINT: Foundry-projektets endepunkt, fundet på Oversigtssiden for dit Foundry-projekt.
  • MODEL_DEPLOYMENT_NAME: Modeludrulningsnavnet, som angivet under Modeller + endepunkter i dit Foundry-projekt.
  • FABRIC_CONNECTION_NAME: Navnet på den Microsoft Fabric forbindelse, som den fremgår i din Foundry Connected resources.

Installer preview-SDK'erne og importer modulerne:

pip install azure-identity
pip install --pre azure-ai-projects
import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

Trin 2: Opret en agent med Microsoft Fabric-værktøjet aktiveret

For at gøre Fabric dataagentværktøjet tilgængeligt for din Azure AI-agent, hent forbindelses-ID'et fra den navngivne forbindelse i dit Foundry-projekt og send det derefter til FabricTool:

project_client = AIProjectClient(
    endpoint=os.environ["PROJECT_ENDPOINT"],
    credential=DefaultAzureCredential(),
)

# Look up the Fabric connection by name
conn_id = project_client.connections.get(os.environ["FABRIC_CONNECTION_NAME"]).id

# Initialize the Fabric tool with the connection ID
fabric = FabricTool(connection_id=conn_id)

with project_client:
    agents_client = project_client.agents

    agent = agents_client.create_agent(
        model=os.environ["MODEL_DEPLOYMENT_NAME"],
        name="my-agent",
        instructions="You are a helpful agent",
        tools=fabric.definitions,
    )
    print(f"Created agent, ID: {agent.id}")

Trin 3: Opret en tråd og send en besked

    # Create a thread for communication
    thread = agents_client.threads.create()
    print(f"Created thread, ID: {thread.id}")

    # Add a message to the thread
    message = agents_client.messages.create(
        thread_id=thread.id,
        role="user",
        content="What is the top sold product in Contoso last month?",
    )
    print(f"Created message, ID: {message.id}")

Trin 4: Kør agenten og læs outputtet

Behandl kørslen, og iterer derefter beskederne for at læse agentens svar:

    # Create and process the run with the Fabric tool
    run = agents_client.runs.create_and_process(thread_id=thread.id, agent_id=agent.id)
    print(f"Run finished with status: {run.status}")

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

    # Delete the agent when finished
    agents_client.delete_agent(agent.id)
    print("Deleted agent")

    # Fetch and print all messages in the thread
    messages = agents_client.messages.list(thread_id=thread.id, order=ListSortOrder.ASCENDING)
    for msg in messages:
        if msg.text_messages:
            last_text = msg.text_messages[-1]
            print(f"{msg.role}: {last_text.text.value}")