Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Cet article explique comment utiliser le kit sdk client Python pour ajouter un agent de données Fabric aux applications web et à d’autres clients à l’aide de l’authentification interactive du navigateur. Vous vous connectez via un navigateur avec vos informations d’identification Microsoft Entra ID, et l’agent de données s’exécute avec vos autorisations. En ajoutant l’agent de données à des applications externes, vous pouvez créer des interfaces personnalisées, incorporer des insights dans des workflows existants, automatiser des rapports et permettre aux utilisateurs d’exécuter des requêtes de données en langage naturel. Cette approche vous offre des fonctionnalités d’agent de données tout en conservant le contrôle total de l’expérience utilisateur et de l’architecture des applications.
Important
Le code de ce document et le Fabric Data Agent External Client repository utilisent l’API OpenAI Assistants (beta.assistants, beta.threads, beta.threads.runs), à laquelle OpenAI a mis fin le 26 août 2026. Comme l’API des Assistants n’est plus disponible, migrez vers le point d’accès MCP pour maintenir votre intégration en bon état.
Important
Lorsque vous utilisez Python SDK client pour ajouter un agent de données Fabric aux applications web ou à d'autres clients, les réponses retournées par Fabric agents de données peuvent être envoyées en dehors de la limite de conformité ou de la région géographique de Fabric. Les stratégies de gestion des termes et des données de l’application web ou du client applicables régissent le traitement et le stockage de ces réponses.
Prerequisites
- Une capacité payante F2 ou une capacité de Fabric supérieure, ou un Power BI Premium selon la capacité (P1 ou supérieur) et avec Microsoft Fabric activé.
- Activez le traitement intergéographique et le stockage intergéographique pour l’IA en fonction des exigences expliquées dans les paramètres du locataire de l’agent de données Fabric.
- Au moins une de ces sources de données, avec des données : un entrepôt, un lakehouse, un modèle sémantique Power BI, une base de données KQL, une base de données miroir ou une ontologie. Vous devez disposer d’un accès en lecture à la source de données.
Configurer votre environnement dans VS Code
Clonez ou téléchargez le référentiel client externe de l’agent de données Fabric. Ouvrez-le ensuite dans VS Code et exécutez l’exemple de client.
Créez et activez un environnement virtuel Python (recommandé) et installez les dépendances requises.
python -m venv .venvActivez l’environnement virtuel.
.venv\Scripts\activate
Installer des dépendances
Exécutez la commande suivante pour installer les dépendances :
pip install -r requirements.txt
Note
- Le package
azure-identityinclus dansrequirements.txtvous permet de vous authentifier auprès de Microsoft Entra ID. -
InteractiveBrowserCredentialdu packageazure-identityouvre un navigateur pour vous connecter à l’aide d’un compte Microsoft Entra ID. Utilisez-le pour le développement local ou les applications qui autorisent la connexion interactive.
Configurer le client
Choisissez l’une de ces méthodes pour définir les valeurs requises (TENANT_ID et DATA_AGENT_URL) :
Définissez les valeurs dans votre shell. Remplacez le texte de l’espace réservé entre crochets par vos propres valeurs.
export TENANT_ID=<your-azure-tenant-id>
export DATA_AGENT_URL=<your-fabric-data-agent-url>
Pour trouver l’URL de l’agent de données publiée, voir Utiliser l’agent de données Fabric de manière programmatique. Pour localiser votre identifiant locataire, consultez Trouver votre identifiant locataire Microsoft Entra.
Créer le client de l’agent de données
Créez un FabricDataAgentClient avec votre identifiant locataire et l’URL de votre agent de données. Lors de l’initialisation du client, il utilise InteractiveBrowserCredential du package azure-identity pour s’authentifier auprès de Microsoft Entra ID : votre navigateur par défaut s’ouvre pour vous permettre de vous connecter au locataire qui héberge l’agent de données Fabric.
from fabric_data_agent_client import FabricDataAgentClient
client = FabricDataAgentClient(tenant_id=TENANT_ID, data_agent_url=DATA_AGENT_URL)
Note
-
FabricDataAgentClientProvient dufabric_data_agent_client.pyscript dans le dépôt cloné, pas d’un package installé séparément. - Le client utilise l’authentification interactive du navigateur : lorsque vous exécutez le script, votre navigateur par défaut s’ouvre donc vous connectez au locataire qui héberge l’agent de données Fabric.
Poser une question à l’agent de données
Après vous être authentifié, interagissez avec l’agent de données à l’aide du client Python.
response = client.ask("What were the total sales last quarter?")
print(f"Response: {response}")
La client.ask méthode envoie votre question à l’agent de données et retourne un objet avec la réponse. Vous pouvez afficher les étapes effectuées par l’agent de données et les requêtes correspondantes qu’il a générées pour obtenir la réponse.
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])
Facultatif : inspecter les étapes et la requête correspondante
Inspectez les étapes que l’agent de données a effectuées pour arriver à la réponse, y compris les erreurs lors de l’exécution.
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']}")
Cette sortie vous aide à comprendre comment l’agent a produit sa réponse et donne de la transparence lorsque vous travaillez avec vos données dans le client Python.