Utiliser un agent de données Fabric avec le Kit de développement logiciel (SDK) client Python (préversion)

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

Configurer votre environnement dans VS Code

  1. 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.

  2. Créez et activez un environnement virtuel Python (recommandé) et installez les dépendances requises.

    python -m venv .venv
    
  3. Activez 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-identity inclus dans requirements.txt vous permet de vous authentifier auprès de Microsoft Entra ID.
  • InteractiveBrowserCredential du package azure-identity ouvre 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

  • FabricDataAgentClient Provient du fabric_data_agent_client.py script 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.