Verwenden des Fabric-Datenagents von Microsoft Foundry Services (Vorschau)

Der Daten-Agent in Microsoft Fabric wandelt Unternehmensdaten in konversationelle Q&A-Systeme um. Sie ermöglicht es Benutzern, über chatten mit ihren Daten zu interagieren, um umsetzbare Erkenntnisse aufzudecken. Eine Möglichkeit, den Fabric-Datenagenten zu nutzen, ist der Foundry Agent Service, eine Kernkomponente von Microsoft Foundry. Durch die Integration von Fabric-Datenagenten in Foundry können Ihre Azure-KI-Agenten direkt auf die umfangreichen, strukturierten und semantischen Daten in Microsoft Fabric OneLake zugreifen. Diese Integration bietet sofortigen Zugriff auf hochwertige Unternehmensdaten und ermöglicht Es Ihren Azure KI-Agents, um umsetzbare Einblicke zu generieren und analytische Workflows zu optimieren. Organisationen können dann die datengesteuerte Entscheidungsfindung mit Fabric Data Agent als leistungsstarke Wissensquelle in ihren Azure KI-Umgebungen verbessern.

Von Bedeutung

Dieses Feature befindet sich in der Vorschauphase. Verwenden Sie die neueste Vorschauversion des azure-ai-projects Python SDK.

Von Bedeutung

Wenn Sie Fabric-Daten-Agenten für die Verwendung in Microsoft Foundry Service konfigurieren, können von Fabric-Daten-Agenten zurückgegebene Antworten außerhalb der Compliance-Grenze oder der geografischen Region von Fabric gesendet und gemäß den für Microsoft Foundry Service geltenden Bestimmungen und Richtlinien zur Datenverarbeitung verarbeitet und/oder gespeichert werden.

Voraussetzungen

  • Entwickler und Endbenutzer in Foundry müssen mindestens über die Rolle für AI Developer rollenbasierte Zugriffskontrolle (RBAC) verfügen.

Funktionsweise

Agent Setup: Erstellen Sie im Agentendienst einen neuen Agenten, und fügen Sie den Fabric-Datenagenten als eine seiner Datenquellen hinzu. Um diese Verbindung herzustellen, benötigen Sie die Arbeitsbereich-ID und Artefakt-ID für den Fabric-Daten-Agent. Mit dem Setup kann Ihr Azure KI-Agent verfügbare Quellen auswerten, wenn sie eine Abfrage empfängt, um sicherzustellen, dass das richtige Tool zum Verarbeiten der Anforderung aufgerufen wird. Derzeit können Sie nur einen Fabric Daten-Agent als Wissensquelle zu Ihrem Azure KI-Agent hinzufügen.

Hinweis

Das Modell, das Sie in Azure KI-Agent-Setup auswählen, wird nur für Azure KI-Agent-Orchestrierung und Reaktionsgenerierung verwendet. Es wirkt sich nicht auf das Modell aus, das der Fabric-Datenagent verwendet.

Query Processing: Wenn ein Benutzer eine Abfrage vom Foundry-Playground sendet, bestimmt der Agentendienst, ob der Fabric-Daten-Agent das beste Tool für die Aufgabe ist. Wenn dies der Fall ist, der Azure KI-Agent:

  • Verwendet die Identität des Endbenutzers, um sichere Abfragen über die Datenquellen zu generieren, auf die der Benutzer innerhalb des Fabric-Daten-Agents zugreifen kann.
  • Ruft Fabric auf, um die Daten abzurufen und zu verarbeiten, um eine reibungslose, automatisierte Benutzererfahrung sicherzustellen.
  • Kombiniert die Ergebnisse von Fabric Daten-Agent mit einer eigenen Logik, um umfassende Antworten zu generieren. Die Identitätspassthrough-Autorisierung (On-Behalf-Of) sichert diesen Ablauf, um eine stabile Sicherheit und ordnungsgemäße Zugriffssteuerung für Unternehmensdaten zu gewährleisten.

Hinweis

Der Fabric Daten-Agent und die Foundry-Ressourcen sollten sich auf demselben Mandanten befinden, und sowohl Microsoft Fabric als auch Foundry sollten mit demselben Konto angemeldet sein.

Hinzufügen eines Fabric-Datenagenten zu Ihrem Azure AI-Agenten

Sie können Ihrem Azure AI-Agent programmgesteuert oder mit der Benutzeroberfläche (UI) einen Fabric Daten-Agent hinzufügen. Ausführliche Codebeispiele und weitere Anweisungen finden Sie in der Dokumentation zur Integration des Azure AI Agent.

Hinzufügen von Fabric-Datenagent über die Benutzeroberfläche

  • Navigieren Sie zum linken Bereich. Wählen Sie unter Erstellen und Anpassen die Option Agents aus, wie im folgenden Screenshot gezeigt:

Screenshot mit der Hauptseite Azure Foundry.

In diesem Schritt wird die Liste Ihrer vorhandenen Azure KI-Agents angezeigt. Sie können Fabric zu einem dieser Agents hinzufügen, oder Sie können Neuen Agent auswählen, um einen neuen Agent zu erstellen. Neue Agent-Erstellung generiert eine eindeutige Agent-ID und einen Standardnamen. Sie können diesen Namen jederzeit ändern. Weitere Informationen finden Sie unter What is Azure OpenAI in Foundry portal.

  • Initiieren Sie das Hinzufügen einer Wissensquelle: Wählen Sie die Schaltfläche Hinzufügen aus, wie im folgenden Screenshot gezeigt:

Screenshot, der die Hinzufügung eines Fabric-Datenagenten als Wissen zeigt.

In diesem Schritt wird ein Menü mit unterstützten Wissensquellentypen geöffnet.

  • Wählen Sie Microsoft Fabric als Quelle aus: Wählen Sie in der Liste Microsoft Fabric aus, wie im folgenden Screenshot gezeigt:

Screenshot mit der Auswahl Fabric als Wissensquelle.

Mit dieser Option kann Ihr Agent auf den Fabric-Datendienst zugreifen.

  • Erstellen Sie eine Verbindung: Wenn Sie zuvor eine Verbindung mit einem Fabric Daten-Agent hergestellt haben, können Sie diese Verbindung für Ihren neuen Azure AI-Agent wiederverwenden. Wählen Sie andernfalls "Neue Verbindung " aus, um eine Verbindung zu erstellen, wie im folgenden Screenshot gezeigt:

Screenshot, der zeigt, wie eine neue Fabric-Verbindung erstellt wird.

Das fenster Create a new Microsoft Fabric connection opens, as shown in the following screenshot:

Screenshot, der das Erstellen einer Verbindung zeigt.

Stellen Sie beim Einrichten der Verbindung den Fabric Daten-Agent workspace-id und artifact-id Werte als benutzerdefinierte Schlüssel bereit. Sie finden die Werte workspace-id und artifact-id im veröffentlichten Fabric-Daten-Agent-Endpunkt. Ihr Fabric Daten-Agent-Endpunkt hat dieses Format: https://fabric.microsoft.com/groups/<workspace_id>/aiskills/<artifact-id>. Aktivieren Sie das Kontrollkästchen Ist geheim.

Weisen Sie schließlich Ihrer Verbindung einen Namen zu, und wählen Sie aus, ob sie für alle Projekte in Foundry verfügbar sein soll oder ob sie auf das aktuelle Projekt beschränkt werden soll.

Nachdem Sie Connect ausgewählt haben, wird der Microsoft Fabric-Daten-Agent als KnowledgeRessource hinzugefügt, wie im folgenden Screenshot gezeigt:

Screenshot, der zeigt, wie Sie Anweisungen hinzufügen.

Darüber hinaus müssen Sie Ihren Azure KI-Agenten Anweisungen darüber geben, wann, wie und unter welchen Bedingungen der Fabric Daten-Agent verwendet werden soll. Aus Sicht des Azure KI-Agents wird der Fabric Daten-Agent als Fabric Tool behandelt, sodass Sie in Ihren Anweisungen darauf verweisen können.

Sie können auch das Bereitstellungsmodell anpassen, Aktionen hinzufügen oder Modelleinstellungen basierend auf Ihren Anwendungsfallanforderungen ändern. Nachdem Ihr Azure KI-Agent vollständig konfiguriert ist, wählen Sie Try in playground aus, um seine Leistung zu testen.

Fabric-Daten-Agent programmgesteuert hinzufügen: In den folgenden Schritten wird beschrieben, wie Sie Ihrem Azure AI-Agent in Python programmgesteuert einen Fabric-Daten-Agent hinzufügen. Weitere Sprachen (C#, JavaScript) finden Sie in dieser Ressource.

Schritt 1: Einrichten von Umgebungsvariablen und Importieren des SDK

Legen Sie die folgenden Umgebungsvariablen fest, bevor Sie den Code ausführen:

  • PROJECT_ENDPOINT: Der Endpunkt des Foundry-Projekts, zu finden auf der Seite „Übersicht“ Ihres Foundry-Projekts.
  • MODEL_DEPLOYMENT_NAME: Der Name der Modellbereitstellung, wie in Ihrem Foundry-Projekt unter Modelle + Endpunkte aufgeführt.
  • FABRIC_CONNECTION_NAME: Der Name der Microsoft Fabric-Verbindung, wie er in Ihren Foundry-Connected resources angezeigt wird.

Installieren Sie die Vorschau-SDKs, und importieren Sie die Module:

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

Schritt 2: Erstellen Sie einen Agenten mit aktiviertem Microsoft Fabric-Tool

Um das Fabric-Datenagententool Ihrem Azure-KI-Agenten bereitzustellen, rufen Sie die Verbindungs-ID aus der benannten Verbindung in Ihrem Foundry-Projekt ab und übergeben Sie sie an 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}")

Schritt 3: Erstellen eines Threads und Senden einer Nachricht

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

Schritt 4: Agenten ausführen und die Ausgabe lesen

Verarbeiten Sie den Durchlauf und durchlaufen Sie dann die Nachrichten, um die Antwort des Agenten zu lesen:

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