Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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
- Eine bezahlte Fabric-Kapazität F2 oder höher oder eine Power BI Premium pro Benutzer Kapazität (P1 oder höher) mit aktiviertem Microsoft Fabric.
- Aktivieren Sie die geoübergreifende Verarbeitung und die geoübergreifende Speicherung für KI basierend auf den Anforderungen, die in den Fabric-Daten-Agent-Mandanteneinstellungen erläutert werden.
- Mindestens eine dieser Datenquellen mit Daten: Ein Warehouse, ein Lakehouse, ein Power BI-Semantikmodell, eine KQL-Datenbank, eine gespiegelte Datenbank oder eine Ontologie. Sie müssen über Lesezugriff auf die Datenquelle verfügen.
- Entwickler und Endbenutzer in Foundry müssen mindestens über die Rolle für
AI Developerrollenbasierte 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:
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:
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:
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:
Das fenster Create a new Microsoft Fabric connection opens, as shown in the following screenshot:
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:
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}")