Consommer l'agent de collecte de données Fabric depuis Microsoft Foundry Services (version préliminaire)

L'agent de données dans Microsoft Fabric transforme les données d'entreprise en systèmes de questions-réponses conversationnels. Il permet aux utilisateurs d’interagir avec leurs données par le biais d’une conversation, de découvrir des insights exploitables. Une façon de consommer l'agent de données Fabric consiste à utiliser le service Agent Foundry, un composant principal de Microsoft Foundry. Grâce à l’intégration d’Fabric agents de données avec Foundry, vos agents d’ia Azure peuvent directement exploiter les données riches, structurées et sémantiques disponibles dans Microsoft Fabric OneLake. Cette intégration offre un accès immédiat aux données d’entreprise de haute qualité, et permet à vos agents d’IA de Azure de générer des insights exploitables et de rationaliser les flux de travail analytiques. Les organisations peuvent ensuite améliorer la prise de décision pilotée par les données avec Fabric agent de données comme source de connaissances puissante dans leurs environnements d’ia Azure.

Important

Cette fonctionnalité est en version préliminaire. Utilisez la dernière version bêta ou préliminaire de l'Azure SDK Python d’agents IA.

Conditions préalables

  • Les développeurs et les utilisateurs finaux de Foundry doivent au moins avoir le rôle AI Developer Role-Based Access Control (RBAC).

Fonctionnement

Configuration de l'agent : Dans le service d'agent, créez un nouvel agent et ajoutez l'agent de données Fabric comme une de ses sources de connaissance. Pour établir cette connexion, vous avez besoin de l’ID d’espace de travail et de l’ID d’artefact pour l’agent de données Fabric. La configuration permet à votre agent IA de Azure d’évaluer les sources disponibles lorsqu’il reçoit une requête, pour vous assurer qu’il appelle l’outil approprié pour traiter la demande. Actuellement, vous ne pouvez ajouter qu’un seul agent de données Fabric en tant que source de connaissances à votre agent IA Azure.

Remarque

Le modèle que vous sélectionnez dans la configuration de l’agent AI dans Azure est utilisé uniquement pour l'orchestration de l’agent AI Azure et la génération de réponses. Il n'affecte pas le modèle que Fabric'agent de données utilise.

Traitement de la requête : lorsqu’un utilisateur envoie une requête à partir du terrain de jeu Foundry, le service agent détermine si Fabric’agent de données est le meilleur outil pour la tâche. Si c’est le cas, l’agent IA Azure :

  • Utilise l’identité de l’utilisateur final pour générer des requêtes sécurisées sur les sources de données auxquelles l’utilisateur a l’autorisation d’accéder à partir de l’agent de données Fabric.
  • Appelle Fabric pour extraire et traiter les données afin de garantir une expérience fluide et automatisée.
  • Combine les résultats de Fabric agent de données avec sa propre logique pour générer des réponses complètes. L’autorisation d’identité Passthrough (on-Behalf-Of) sécurise ce flux pour assurer une sécurité robuste et un contrôle d’accès approprié dans les données d’entreprise.

Remarque

L’agent de données Fabric et les ressources Foundry doivent se trouver sur le même locataire, et les deux Microsoft Fabric et Foundry doivent être connectés avec le même compte.

Ajouter Fabric agent de données à votre agent IA Azure

Vous pouvez ajouter un agent de données Fabric à votre agent IA Azure par programmation ou avec l’interface utilisateur. Pour obtenir des exemples de code détaillés et des instructions supplémentaires, consultez la documentation d’intégration Azure AI Agent.

Ajouter un agent de données Fabric via l’interface utilisateur :

  • Accédez au volet gauche. Sous Générer et personnaliser, sélectionnez Assistants, comme illustré dans la capture d’écran suivante :

Screenshot affichant la page principale Azure Foundry.

Cette étape affiche la liste de vos agents IA Azure existants. Vous pouvez ajouter Fabric à l’un de ces agents, ou vous pouvez sélectionner New Agent pour créer un agent. La création d’un nouvel agent génère un ID d’agent unique et un nom par défaut. Vous pouvez modifier le nom à tout moment. Pour plus d’informations, consultez Ce qui est Azure OpenAI dans le portail Foundry.

  • Lancer l’ajout d’une source de connaissances : sélectionnez le bouton Ajouter, comme illustré dans la capture d’écran suivante :

Capture d'écran affichant l'ajout de l'agent de données Fabric en tant que connaissance.

Cette étape ouvre un menu des types de sources de connaissances pris en charge.

  • Sélectionnez Microsoft Fabric comme source : dans la liste, choisissez Microsoft Fabric, comme illustré dans la capture d’écran suivante :

Screenshot montrant comment sélectionner Fabric comme source de connaissances.

Avec cette option, votre agent peut accéder à l’agent de données Fabric.

  • Créez une connexion : si vous avez précédemment établi une connexion à un agent de données Fabric, vous pouvez réutiliser cette connexion pour votre nouvel agent IA Azure. Sinon, sélectionnez Nouvelle connexion pour créer une connexion, comme illustré dans la capture d’écran suivante :

Capture d'écran montrant comment créer une connexion Fabric.

La fenêtre Créer une nouvelle connexion Microsoft Fabric s’ouvre, comme illustré dans la capture d’écran suivante :

Capture d’écran montrant la création d’une connexion.

Lorsque vous configurez la connexion, fournissez les valeurs Fabric de l’agent de données workspace-id et artifact-id en tant que clés personnalisées. Vous trouverez les valeurs workspace-id et artifact-id dans le point de terminaison de l’agent de données Fabric publié. Votre point de terminaison de l’agent de données Fabric a ce format :

https://fabric.microsoft.com/groups/ < workspace_id>/aiskills/<artifact-id>, puis cochez la case Is Secret

Enfin, attribuez un nom à votre connexion et choisissez s’il faut le rendre disponible pour tous les projets dans Foundry ou pour le restreindre au projet actuel.

Après avoir sélectionné Connect, l’agent de données Microsoft Fabric est ajouté en tant que ressource Knowledge, comme illustré dans la capture d’écran suivante :

Capture d’écran montrant comment ajouter des instructions.

Vous devez également fournir des instructions à votre agent IA Azure sur le moment, la façon et dans quelles conditions utiliser l’agent de données Fabric. Du point de vue de l’agent IA Azure, l’agent de données Fabric est traité comme un outil de Fabric. Vous pouvez donc y faire référence dans vos instructions.

Vous pouvez également ajuster le modèle de déploiement, ajouter des actions ou modifier les paramètres du modèle en fonction de vos besoins en cas d’usage. Une fois que votre agent IA Azure est entièrement configuré, sélectionnez Try in playground pour tester ses performances.

Ajout d'un agent de données Fabric par programmation : Les étapes suivantes décrivent comment ajouter un agent de données Fabric à votre agent IA Azure en Python. Pour d’autres langages (C#, JavaScript), consultez cette ressource.

Étape 1 : Créer un client de projet

Créez un objet client qui contient le connection string qui se connecte à votre projet IA et à d’autres ressources.

import os
from azure.ai.projects import AIProjectClient
from azure.identity import DefaultAzureCredential
from azure.ai.agents.models import FabricTool, ListSortOrder

Étape 2 : Créer un agent avec l’outil Microsoft Fabric activé

Pour rendre l’outil d’agent de données Fabric disponible pour votre agent IA Azure, utilisez une connexion pour initialiser l’outil et l’attacher à l’agent. Vous trouverez votre connexion dans la section ressources connectées de votre projet dans le portail Foundry.

# 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}")

Étape 3 : Créer un thread

# 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}")

Étape 4 : Créer une exécution et vérifier la sortie

Créez une exécution et observez que le modèle utilise l'outil de l'agent de données Fabric pour fournir une réponse à la question de l'utilisateur.

# 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}")