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 Beta- oder Vorschauversion der Azure AI Agents Python SDK.
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.
- Fabric-Mandanteneinstellungen des Daten-Agents sind aktiviert, einschließlich der Einstellung, dass Kapazitäten als Fabric-Copilot-Kapazitäten festgelegt werden können.
- Die geoübergreifende Verarbeitung für KI ist aktiviert.
- Das geoübergreifende Speichern für KI ist aktiviert.
- Mindestens eine davon mit Daten: Ein Lagerhaus, ein Seehaus, ein oder mehrere Power BI Semantikmodelle, eine KQL-Datenbank oder eine Ontologie.
- Power BI Semantikmodelle über XMLA-Endpunkte für Mandantenwechsel sind bei Power BI-Datenquellen des semantischen Modells aktiviert.
- Stellen Sie für Power BI semantischen Modelle, die mit einem Daten-Agent verwendet werden, sicher, dass Benutzer, die über den Agent interagieren, über die Leseberechtigung für das Semantikmodell verfügen. Die Berechtigung "Arbeitsbereichsmitglied" oder "Erstellen" ist für die Interaktion nicht erforderlich.
- 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>, und 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: Erstellen eines Projektclients
Erstellen Sie ein Clientobjekt, das die Verbindungszeichenfolge enthält, die eine Verbindung mit Ihrem KI-Projekt und anderen Ressourcen herstellt.
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 den aktivierten Microsoft Fabric Tools
Um das Fabric Daten-Agent-Tool für Ihren Azure KI-Agent verfügbar zu machen, verwenden Sie eine Verbindung, um das Tool zu initialisieren und an den Agent anzufügen. Sie finden Ihre Verbindung im Abschnitt "Verbundene Ressourcen " Ihres Projekts im Foundry-Portal.
# 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}")
Schritt 3: Erstellen eines Threads
# 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}")
Schritt 4: Erstellen einer Ausführung und Überprüfen der Ausgabe
Erstellen Sie eine Ausführung, und beachten Sie, dass das Modell das Fabric-Daten-Agent-Tool verwendet, um eine Antwort auf die Frage des Benutzers bereitzustellen.
# 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}")