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.
In diesem Artikel wird gezeigt, wie Sie mithilfe des Python-Client-SDKs einen Fabric Daten-Agent zu Web-Apps und anderen Clients mithilfe der interaktiven Browserauthentifizierung hinzufügen. Sie melden sich über einen Browser mit Ihren Microsoft Entra ID-Anmeldeinformationen an, und der Datenagent läuft mit Ihren Berechtigungen. Indem Sie den Daten-Agent zu externen Apps hinzufügen, können Sie benutzerdefinierte Schnittstellen erstellen, Einblicke in vorhandene Workflows einbetten, Berichte automatisieren und Benutzern das Ausführen von Datenabfragen in natürlicher Sprache ermöglichen. Dieser Ansatz bietet Ihnen Daten-Agent-Funktionen, während Sie die vollständige Kontrolle über die Benutzererfahrung und die App-Architektur behalten.
Von Bedeutung
Der Code in diesem Dokument und im Fabric Data Agent External Client repository verwenden die OpenAI Assistants API (beta.assistants, beta.threads, beta.threads.runs), die OpenAI als veraltet eingestuft hat und für die der 26. August 2026 als Abschaltdatum festgelegt wurde. Der aktuelle Code funktioniert bis zum 26. August 2026 weiterhin, plant jedoch die Migration zum MCP-Endpunkt vor diesem Datum.
Von Bedeutung
Wenn Sie das Python-Client-SDK verwenden, um Web-Apps oder anderen Clients einen Fabric-Daten-Agent hinzuzufügen, könnten Antworten, die von Fabric-Daten-Agenten zurückgegeben werden, außerhalb der Compliance-Grenze oder der geografischen Region von Fabric gesendet werden. Die geltenden Web-App- oder Clientbedingungen und Datenverarbeitungsrichtlinien steuern, wie diese Antworten verarbeitet und gespeichert werden.
Voraussetzungen
- Eine bezahlte F2 oder höher Fabric Kapazität oder eine Power BI Premium Kapazität (P1 oder höher) Kapazität, bei der Microsoft Fabric aktiviert ist.
- 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.
Einrichten Ihrer Umgebung in VS Code
Klonen Sie das Repository des externen Fabric-Datenagent-Clients, oder laden Sie es herunter. Öffnen Sie sie dann in VS Code, und führen Sie den Beispielclient aus.
Erstellen und aktivieren Sie eine Python virtuelle Umgebung (empfohlen), und installieren Sie die erforderlichen Abhängigkeiten.
python -m venv .venvAktivieren Sie die virtuelle Umgebung.
.venv\Scripts\activate
Installieren von Abhängigkeiten
Führen Sie den folgenden Befehl aus, um Abhängigkeiten zu installieren:
pip install -r requirements.txt
Hinweis
- Mit dem in
azure-identityenthaltenen Paketrequirements.txtkönnen Sie sich bei Microsoft Entra ID authentifizieren. -
InteractiveBrowserCredentialaus demazure-identityPaket öffnet einen Browser, damit Sie sich mit einem Microsoft Entra ID-Konto anmelden können. Verwenden Sie sie für lokale Entwicklung oder Apps, die interaktive Anmeldung zulassen.
Konfigurieren des Clients
Wählen Sie eine dieser Methoden aus, um die erforderlichen Werte festzulegen (TENANT_ID und DATA_AGENT_URL):
Setzen Sie die Werte in Ihrer Shell. Ersetzen Sie den Platzhaltertext in spitzen Klammern mit Ihren eigenen Werten.
export TENANT_ID=<your-azure-tenant-id>
export DATA_AGENT_URL=<your-fabric-data-agent-url>
In der Dokumentation finden Sie die URL des veröffentlichten Datenagents. Folgen Sie den Anweisungen, um Ihre Mandanten-ID zu finden.
Authentifizieren
Verwenden Sie die klasse InteractiveBrowserCredential, um sich mit Microsoft Entra ID in einem Browser zu authentifizieren.
from azure.identity import InteractiveBrowserCredential
from fabric_data_agent_client import FabricDataAgentClient
credential = InteractiveBrowserCredential()
Erstellen des Daten-Agent-Clients
client = FabricDataAgentClient(credential=credential)
Hinweis
- Das
fabric-data-agent-client-Paket stellt das Client-SDK zum Herstellen einer Verbindung mit dem Fabric Daten-Agent bereit. - Der Python-Client verwendet die interaktive Browserauthentifizierung: Wenn Sie das Skript ausführen, wird Ihr Standardbrowser geöffnet, sodass Sie sich beim Mandanten anmelden, der den Fabric-Daten-Agent hostt.
Stellen Sie dem Datenagent eine Frage
Nachdem Sie sich authentifiziert haben, interagieren Sie mit dem Daten-Agent mithilfe des Python-Clients.
response = client.ask("What were the total sales last quarter?")
print(f"Response: {response}")
Die client.ask Methode sendet Ihre Frage an den Daten-Agent und gibt ein Objekt mit der Antwort zurück. Sie können die Schritte anzeigen, die der Daten-Agent ausgeführt hat, und die entsprechenden Abfragen, die er generiert hat, um die Antwort zu erhalten.
run_details = client.get_run_details("What were the total sales last quarter?")
messages = run_details.get('messages', {}).get('data', [])
assistant_messages = [msg for msg in messages if msg.get('role') == 'assistant']
print("Answer:", assistant_messages[-1])
Optional: Überprüfen der Schritte und der entsprechenden Abfrage
Überprüfen Sie die Schritte, die der Daten-Agent ausgeführt hat, um zur Antwort zu gelangen, einschließlich aller Fehler während der Ausführung.
for step in run_details['run_steps']['data']:
tool_name = "N/A"
if 'step_details' in step and step['step_details'] and 'tool_calls' in step['step_details']:
tool_calls = step['step_details']['tool_calls']
if tool_calls and len(tool_calls) > 0 and 'function' in tool_calls[0]:
tool_name = tool_calls[0]['function'].get('name', 'N/A')
print(f"Step ID: {step.get('id')}, Type: {step.get('type')}, Status: {step.get('status')}, Tool Name: {tool_name}")
if 'error' in step:
print(f" Error: {step['error']}")
Diese Ausgabe hilft Ihnen zu verstehen, wie der Agent seine Antwort produziert hat, und gibt Transparenz, wenn Sie mit Ihren Daten im Python Client arbeiten.