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.
L’agent de données dans Microsoft Fabric transforme les données d’entreprise en systèmes Q&A conversationnels. Il permet aux utilisateurs d’interagir avec leurs données par le biais d’une conversation, de découvrir des insights exploitables. L’une des façons de consommer l’assistant de données Fabric consiste à utiliser Azure AI Agent Service, un composant principal d’Azure AI Foundry. Grâce à l’intégration d’assistants de données Fabric à Azure AI Foundry, vos assistants Azure AI peuvent accéder directement aux données riches, structurées et sémantiques disponibles dans Microsoft Fabric OneLake. Cette intégration fournit un accès immédiat aux données d’entreprise de haute qualité, et permet à vos assistants Azure AI de générer des insights exploitables et de simplifier les flux de travail analytiques. Les organisations peuvent ensuite améliorer la prise de décision basée sur les données avec l’assistant de données Fabric comme source de connaissances puissante dans leurs environnements Azure AI.
Important
Cette fonctionnalité est en version préliminaire. Utilisez la dernière version bêta ou en préversion du Kit de développement logiciel (SDK) Python d’Azure AI Agents.
Conditions préalables
- Une capacité de structure F2 ou supérieure payante, ou une capacité Power BI Premium par capacité (P1 ou supérieure) avec Microsoft Fabric activé
- Les paramètres du locataire de l'agent de données Fabric sont activés.
- Le traitement intergéographique pour l’IA est activé.
- Le stockage multi-régional pour l’IA est activé.
- Au moins l’un d’entre eux, avec des données : un entrepôt, un lachouse, un ou plusieurs modèles sémantiques Power BI, une base de données KQL ou une ontologie.
- Les modèles sémantiques Power BI via le commutateur de locataire des points de terminaison XMLA sont activés pour les sources de données de modèle sémantique Power BI.
- Les développeurs et les utilisateurs finaux d’Azure AI Foundry doivent disposer au minimum du rôle
AI Developerde contrôle d’accès en fonction du rôle (RBAC).
Fonctionnement
Configuration de l’assistant : dans Azure AI Agent Service, créez un assistant et ajoutez l’assistant de données Fabric comme l’une de ses sources de connaissances. Pour établir cette connexion, vous avez besoin de l’ID d’espace de travail et de l’ID d’artefact pour l’assistant de données Fabric. La configuration permet à votre agent Azure AI d’évaluer les sources disponibles lorsqu’il reçoit une requête, afin de s’assurer qu’il appelle l’outil approprié pour traiter la demande. Actuellement, vous ne pouvez ajouter qu’un seul assistant de données Fabric en tant que source de connaissances à votre assistant Azure AI.
Remarque
Le modèle que vous sélectionnez dans la configuration de l’assistant Azure AI est utilisé uniquement pour l’orchestration et la génération de réponse de l’assistant Azure AI. Il n’affecte pas le modèle que l’agent de données Fabric utilise.
Traitement des requêtes : lorsqu’un utilisateur envoie une requête à partir du terrain de jeu Foundry, Azure AI Agent Service détermine si l’assistant de données Fabric est le meilleur outil pour la tâche. Si c’est le cas, l’assistant Azure AI :
- 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 l’assistant de données Fabric 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 Azure AI Foundry doivent se trouver sur le même locataire, et Microsoft Fabric et Azure AI Foundry doivent être connectés avec le même compte.
Ajouter l’agent de données Fabric à votre agent Azure AI
Vous pouvez ajouter un agent de données Fabric à votre agent Azure AI par programmation ou avec l’interface utilisateur (IU). Pour obtenir des exemples de code détaillés et des instructions supplémentaires, consultez la documentation d’intégration d’Azure AI Agent.
Ajouter l’assistant 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 :
Cette étape affiche la liste de vos agents Azure AI existants. Vous pouvez ajouter Fabric à l’un de ces assistants, ou sélectionner Nouvel assistant pour créer un assistant. 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 Présentation d’Azure OpenAI dans le portail Azure AI Foundry.
- Lancer l’ajout d’une source de connaissances : sélectionnez le bouton Ajouter, comme illustré dans la capture d’écran suivante :
Cette étape ouvre un menu des types de sources de connaissances pris en charge.
- Sélectionner Microsoft Fabric comme source : dans la liste, choisissez Microsoft Fabric, comme illustré dans la capture d’écran suivante :
Avec cette option, votre agent peut accéder à l’agent de données Fabric.
- Créer une connexion : si vous avez précédemment établi une connexion à un assistant de données Fabric, vous pouvez réutiliser cette connexion pour votre nouvel assistant Azure AI. Sinon, sélectionnez Nouvelle connexion pour créer une connexion, comme illustré dans la capture d’écran suivante :
La fenêtre Créer une connexion Microsoft Fabric s’ouvre, comme illustré dans la capture d’écran suivante :
Lorsque vous configurez la connexion, fournissez les valeurs workspace-id et artifact-id de l’assistant de données Fabric en tant que clés personnalisées. Vous trouverez les valeurs workspace-id et artifact-id dans l'endpoint de l'agent de données Fabric publié. Votre point de terminaison d’assistant 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 Azure AI Foundry ou le limiter au projet actuel.
Une fois que vous avez sélectionné Se connecter, l’agent de données Microsoft Fabric est ajouté en tant que ressource De connaissances , comme illustré dans la capture d’écran suivante :
Vous devez également fournir des instructions à votre agent Azure AI pour savoir quand, comment et dans quelles conditions utiliser l’agent de données Fabric. Du point de vue de l’agent Azure AI, l’agent de données Fabric est traité comme un outil Fabric. Vous pouvez donc vous y référer 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 Azure AI est entièrement configuré, sélectionnez Essayer dans le terrain de jeu pour tester ses performances.
Ajouter un agent de données Fabric par programmation : les étapes suivantes décrivent comment ajouter un agent de données Fabric par programmation à votre agent Azure AI 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 la chaîne de connexion 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 assistant avec l’outil Microsoft Fabric activé
Pour rendre l’outil d’assistant de données Fabric disponible pour votre assistant Azure AI, utilisez une connexion pour initialiser l’outil et l’attacher à l’assistant. Vous trouverez votre connexion dans la section Ressources connectées de votre projet dans le portail Azure AI Foundry.
# The Fabric connection ID can be found in the Azure AI 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 d’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}")