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. Durch das Hinzufügen des Daten-Agents zu externen Apps 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
Dieses Feature befindet sich in der Vorschauphase.
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 oder laden Sie das Repository Fabric Data Agent External Client herunter, öffnen Sie es in VS Code und führen Sie den Beispielclient aus.
Erstellen und aktivieren Sie eine Python virtuelle Umgebung (empfohlen), und installieren Sie dann die erforderlichen Abhängigkeiten.
python -m venv .venvAktivieren Sie die virtuelle Umgebung.
.venv\Scripts\activate
Installieren von Abhängigkeiten
Führen Sie diesen 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 dem Paketazure-identityöffnet einen Browser, damit der Benutzer sich mit einem Microsoft Entra ID Konto anmelden kann. 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.