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

Dataagenten i Microsoft Fabric omdanner bedriftsdata til samtalebaserte spørsmål og spørsmål; Et system. Det gjør det mulig for brukere å samhandle med dataene sine gjennom chat, for å avdekke handlingsvennlig innsikt. En måte å bruke Fabric data agent på er gjennom Foundry Agent Service, en kjernekomponent i Microsoft Foundry. Gjennom integrasjon av Fabric-dataagenter med Foundry kan dine Azure AI-agenter direkte koble seg til de rike, strukturerte og semantiske dataene som er tilgjengelige i Microsoft Fabric OneLake. Denne integrasjonen gir umiddelbar tilgang til bedriftsdata av høy kvalitet, og gir dine Azure AI-agenter mulighet til å generere handlingsrettede innsikter og effektivisere analytiske arbeidsflyter. Organisasjoner kan deretter forbedre datadrevet beslutningstaking med Fabric data agent som en kraftfull kunnskapskilde i sine Azure AI-miljøer.

Important

Denne funksjonen er i forhåndsvisning. Bruk den nyeste forhåndsvisningen av SDK-en azure-ai-projects Python.

Important

Når du konfigurerer Fabric-dataagenter til å bli brukt i Microsoft Foundry Service, kan svar som returneres av Fabric-dataagenter sendes utenfor Fabric sin samsvarsgrense eller geografiske region, og behandles og/eller lagres i henhold til Microsoft Foundry Service(s) gjeldende vilkår og retningslinjer for datahåndtering.

Prerequisites

  • Utviklere og sluttbrukere i Foundry må i det minste ha rollen AI Developer Role-Based tilgangskontroll (RBAC).

Slik fungerer det

Agent Setup: I Agent Service, opprett en ny agent og legg til Fabric dataagent som en av dens kunnskapskilder. For å etablere denne forbindelsen trenger du arbeidsområdets ID og artefakt-ID for Fabric-dataagenten. Oppsettet gjør det mulig for Azure AI-agenten din å evaluere tilgjengelige kilder når den mottar en forespørsel, for å sikre at den kaller riktig verktøy for å behandle forespørselen. For øyeblikket kan du bare legge til én Fabric-dataagent som kunnskapskilde til din Azure AI-agent.

Note

Modellen du velger i Azure AI Agent-oppsettet brukes kun til Azure AI-agent-orkestrering og responsgenerering. Det påvirker ikke modellen som Fabric-dataagenten bruker.

Query Processing: Når en bruker sender en forespørsel fra Foundry-lekeplassen, avgjør Agent Service om Fabric dataagent er det beste verktøyet for oppgaven. Hvis det er det, vil Azure AI-agenten:

  • Bruker sluttbrukerens identitet til å generere sikre spørringer over datakildene brukeren har tillatelse til å få tilgang til fra Fabric-dataagenten.
  • Aktiverer Fabric for å hente og behandle dataene, for å sikre en smidig, automatisert opplevelse.
  • Kombinerer resultatene fra Fabric-dataagenten med sin egen logikk for å generere omfattende svar. Godkjenning av identitetsoversigelse (on-Behalf-Of) sikrer denne flyten, for å sikre robust sikkerhet og riktig tilgangskontroll på tvers av virksomhetsdata.

Note

Fabric-dataagenten og Foundry-ressursene skal være på samme tenant, og både Microsoft Fabric og Foundry skal være logget inn med samme konto.

Legg til Fabric data agent til din Azure AI Agent

Du kan legge til en Fabric dataagent til din Azure AI-agent enten programmatisk eller via brukergrensesnittet (UI). For detaljerte kodeeksempler og videre instruksjoner, se dokumentasjonen for integrasjon av Azure AI Agent.

Legg til Fabric dataagent via UI:

  • Gå til venstre rute. Velg Agenterunder Bygg og tilpass, som vist i følgende skjermbilde:

Skjermbilde som viser hovedsiden Azure Foundry.

Dette steget viser listen over dine eksisterende Azure AI-agenter. Du kan legge til Fabric på en av disse agentene, eller du kan velge New Agent for å opprette en ny agent. Ny agentoppretting genererer en unik agent-ID og et standardnavn. Du kan endre dette navnet når som helst. For mer informasjon, se Hva er Azure OpenAI i Foundry portal.

  • Begynn å legge til en kunnskapskilde: Velg Legg til-knappen , som vist i følgende skjermbilde:

Skjermbilde som viser tillegg av Fabric dataagent som knowledge.

Dette steget åpner en meny med støttede kunnskapskildetyper.

  • Velg Microsoft Fabric som kilde: Fra listen velger du Microsoft Fabric, som vist i følgende skjermbilde:

Skjermbilde som viser å velge Fabric som kunnskapskilde.

Med dette alternativet kan agenten din få tilgang til Fabric-dataagenten.

  • Lag en tilkobling: Hvis du tidligere har etablert en tilkobling til en Fabric-dataagent, kan du gjenbruke den forbindelsen for din nye Azure AI-agent. Ellers velger du Ny tilkobling for å opprette en tilkobling, som vist i følgende skjermbilde:

Skjermbilde som viser hvordan man oppretter en ny Fabric-tilkobling.

Vinduet Create a new Microsoft Fabric connection åpnes, som vist i følgende skjermbilde:

Skjermbilde som viser oppretting av en tilkobling.

Når du setter opp tilkoblingen, oppgir Fabric dataagenten workspace-id og artifact-id verdiene som egendefinerte nøkler. Du kan finne verdiene workspace-id og artifact-id i det publiserte Fabric dataagent-endepunktet. Ditt Fabric dataagent-endepunkt har dette formatet: https://fabric.microsoft.com/groups/<workspace_id>/aiskills/<artifact-id>. Velg avkrysningsboksen Er hemmelig .

Til slutt, tildel et navn til tilkoblingen din, og velg om du vil gjøre det tilgjengelig for alle prosjekter i Foundry eller begrense det til det nåværende prosjektet.

Etter at du har valgt Connect, legges Microsoft Fabric dataagenten til som en Knowledge-ressurs, som vist i følgende skjermbilde:

Skjermbilde som viser hvordan du legger til instruksjoner.

Du må også gi instruksjoner til din Azure AI-agent om når, hvordan og under hvilke betingelser du skal bruke Fabric-dataagenten. Fra Azure AI-agentens perspektiv behandles Fabric-dataagenten som et Fabric-verktøy, så du kan referere til den som sådan i instruksjonene dine.

Du kan også justere distribusjonsmodellen, legge til handlinger eller endre modellinnstillinger basert på kravene til brukstilfeller. Når din Azure AI-agent er fullstendig konfigurert, velg Prøv i playground for å teste ytelsen.

Legg til Fabric dataagent programmatisk: Følgende steg beskriver hvordan du kan legge til en Fabric dataagent programmatisk til din Azure AI-agent i Python. For andre språk (C#, JavaScript), se denne ressursen.

Trinn 1: Sett opp miljøvariabler og importer SDK-en

Sett følgende miljøvariabler før du kjører koden:

  • PROJECT_ENDPOINT: Foundry-prosjektets endepunkt, funnet på Oversiktssiden for ditt Foundry-prosjekt.
  • MODEL_DEPLOYMENT_NAME: Navnet på modelldistribusjon, som listet under Modeller + endepunkter i ditt Foundry-prosjekt.
  • FABRIC_CONNECTION_NAME: Navnet på den Microsoft Fabric tilkoblingen, slik den vises i Foundry Connected resources.

Installer forhåndsvisnings-SDK-ene og importer modulene:

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

Trinn 2: Opprett en agent med Microsoft Fabric-verktøyet aktivert

For å gjøre Fabric dataagent-verktøyet tilgjengelig for din Azure AI-agent, hent tilkoblings-ID-en fra den navngitte forbindelsen i Foundry-prosjektet ditt, og send den deretter 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}")

Steg 3: Lag en tråd og send en melding

    # 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}")

Steg 4: Kjør agenten og les utdataene

Behandle kjøringen, og iterer deretter meldingene for å lese 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}")