Tutoriel : Créer une règle Activator de bout en bout à l’aide de l’IA agentique

Fabric Activateur détecte les modèles dans les données de streaming et prend des mesures lorsque les conditions sont remplies. Dans ce tutoriel, vous utilisez un agent IA pour créer un pipeline de bout en bout. Le pipeline surveille un flux d’événements de télémétrie, détecte une surchauffe prolongée et appelle une fonction de données utilisateur (UDF) de Fabric pour créer une demande de réparation. Vous rédigez les prompts ; l’agent se charge de la rédaction.

Ce tutoriel utilise les données de télémétrie d’une machine de fabrication de widgets comme exemple fil rouge, mais les mêmes instructions fonctionnent pour presque toutes les données de séries temporelles disposant d’un identifiant stable par entité — appareils IoT, flottes de véhicules, événements logistiques, cotations financières, métriques applicatives, etc. Remplacez les noms de champs et le seuil pour qu’ils correspondent à votre forme de données.

Dans ce tutoriel, vous allez effectuer les tâches suivantes :

  • Configurez un flux d’événements sur votre hub d’événements.
  • Créez une fonction de données utilisateur pour enregistrer l’intervention de réparation.
  • Créez une règle d’activateur qui déclenche la fonction.

Si vous débutez avec Fabric Activateur, consultez Qu'est-ce que Fabric Activateur ?. Si vous découvrez les fonctions de données utilisateur de Fabric, consultez Que sont les fonctions de données utilisateur de Fabric ?.

Vue d’ensemble du scénario

Un fabricant exploite une flotte de machines de fabrication de widgets sur plusieurs usines. Chaque machine émet des données de télémétrie (température, vibration, pression, état d’exécution) dans un hub d’événements Azure. Lorsqu’une machine fonctionne à une température élevée, elle nécessite une intervention de maintenance avant de tomber en panne.

Pour ce tutoriel, chaque événement utilise un petit schéma représentatif : un ID par ordinateur (machine_id), une balise d’emplacement (plant_id), une métrique numérique à surveiller (temperature_c) et un champ d’état d’exécution (state). Les noms de champs précis n’ont pas d’importance : la même structure de prompt fonctionne pour n’importe quelle combinaison d’un identifiant par entité et d’une métrique à laquelle vous souhaitez appliquer un seuil.

Vous créez un pipeline Fabric qui surveille le flux de télémétrie, applique une règle de seuil maintenu et appelle une fonction User Data pour créer le ticket de réparation. La règle regroupe les événements par machine_id et se déclenche lorsque temperature_c reste au-dessus de 50 °C pendant 5 minutes. Lorsqu’il se déclenche, il transmet machine_id, plant_id et la température actuelle à l’action.

Schéma d’architecture de la télémétrie circulant depuis les machines via Azure Event Hubs, un flux d’événements Fabric, une règle Activator et une UDF.

Prerequisites

Avant de commencer, vous avez besoin des éléments suivants :

  • Un espace de travail Fabric avec une capacité F4 (ou supérieure), avec des autorisations de création. Pour en savoir plus sur les espaces de travail, consultez Espaces de travail.
  • Un agent compatible avec les compétences, par exemple GitHub Copilot CLI ou GitHub Copilot dans Visual Studio Code, sur lequel les compétences Fabric sont installées.
  • Un espace de noms Azure Event Hubs et un hub diffusant en continu la télémétrie. Vous avez besoin du nom de domaine complet de l’espace de noms, du nom du hub et d’une Listen+Send chaîne de connexion.

Configurer le flux d’événements

Dans cette étape, vous créez le flux d’événements qui s’abonne à votre hub d’événements. Vous invitez l’agent et validez le résultat dans le portail.

  1. Donnez à l’agent cette instruction, en remplaçant les espaces réservés par les valeurs de votre hub d’événements :

    Create a Fabric eventstream in my workspace called `WidgetMachineTelemetry` that ingests from this Azure event hub:
    
    - Namespace: `<your namespace FQDN>`
    - Hub name: `<your hub name>`
    - Connection string: `<your Listen+Send connection string>`
    
    When you're done, give me a direct portal link to the eventstream item so I can verify it.
    
  2. L’agent invoque la compétence de création de flux d’événements. Il crée l’élément eventstream, configure le hub d’événements en tant que source et retourne une URL cliquable à l’élément dans le portail Fabric. Vous n’avez pas besoin d’une destination : Activator s’abonne directement au flux.

  3. Sélectionnez le lien que l’agent vous a donné. Dans l’affichage en direct, vérifiez que la source du hub d’événements est connectée et que les événements de télémétrie de la machine à widgets transitent.

    Capture d’écran du flux d’événements WidgetMachineTelemetry montrant la source du hub d’événements connectée et la destination activateur, avec aperçu des données en direct.

    Figure 1 : Le WidgetMachineTelemetry flux d’événements : les événements circulent de la widget-telemetry source Event Hub via le flux jusqu’à la WidgetMachineMaintenance destination Activator.

Créer la fonction de données utilisateur

Dans cette étape, vous créez la fonction de données utilisateur que votre règle Activator appelle. La fonction envoie la demande de travail de réparation à votre API en aval.

  1. Donnez ce prompt à l’agent :

    Create a Fabric User Data Function called `MaintenanceDispatcher` in my workspace, written in Python, with a function `file_repair_job(machine_id, plant_id, temperature_c)` that sends those values as JSON in a POST request to `https://contoso.com/maintenance/fileRepairJob` and returns the parsed response.
    
    When you're done, give me a direct portal link to the UDF item so I can verify it.
    
  2. L’agent invoque la compétence de création de fonctions UDF Fabric. Il génère l’ossature d’un élément UDF Python, implémente file_repair_job avec httpx, publie l’UDF, confirme que la fonction peut être appelée et renvoie l’URL cliquable de l’élément.

  3. Sélectionnez le lien que l’agent vous a donné, puis utilisez le volet test intégré pour appeler file_repair_job avec un exemple de charge utile. Par exemple : machine_id="widget-press-042", plant_id="plant-eu-01", temperature_c=52.7. L’appel à contoso.com renvoie une erreur HTTP — c’est attendu, car le point de terminaison fictif ne peut pas être résolu. Le comportement important est que l’UDF a été déployée, enregistrée et est allée jusqu’à l’appel HTTP sortant.

    Screenshot de la fonction de données utilisateur MaintenanceDispatcher montrant la source file_repair_job Python dans l’éditeur du portail.

    Figure 2 : La MaintenanceDispatcher fonction de données utilisateur — file_repair_job transmet les détails de la machine en surchauffe au système de maintenance.

Note

Ce tutoriel utilise https://contoso.com/maintenance/fileRepairJob comme espace réservé pour le point de terminaison du système de maintenance réel. Remplacez-le par n’importe quel point de terminaison HTTPS de votre choix. Pour les points de terminaison authentifiés, récupérez les informations d’identification de Azure Key Vault via une connexion générique UDF. Pour plus d’informations, consultez Accéder aux sources de données dans les fonctions de données utilisateur de Fabric.

Créer la règle d’activation

Dans cette étape, vous créez la règle Activator qui surveille le flux d’événements et appelle votre UDF lorsqu’une machine surchauffe.

  1. Donnez ce prompt à l’agent :

    Create an Activator rule in my workspace subscribed to the `WidgetMachineTelemetry` eventstream, that triggers my `file_repair_job` UDF when a machine's temperature stays above 50°C for 5 minutes.
    
    When you're done, give me a direct portal link to the rule so I can verify it.
    
  2. L’agent appelle la compétence de création d’activateur et crée l’élément Activateur. L’agent regroupe la règle par machine_id, crée la détection de dépassement durable du seuil et configure l’action pour appeler votre UDF avec machine_id, plant_id et la température actuelle. L’agent renvoie ensuite une URL cliquable vers la règle.

  3. Sélectionnez le lien que l’agent vous a donné, puis parcourez cette liste de contrôle :

    • Les données circulent dans la règle. Ouvrez l’objet Activator sous-jacent de la règle dans le volet Explorer et vérifiez que les événements récents apparaissent dans le tableau en direct avec des valeurs machine_id et temperature_c non nulles.
    • La règle est en cours d’exécution. Vérifiez que la règle est dans l’état Démarré ou En cours d’exécution et que le résumé de l’objet Activateor affiche vos machines en tant qu’instances actives.
    • L’agent enregistre les activations. Comme les machines surchauffées restent au-dessus de 50 °C pendant 5 minutes, les entrées apparaissent dans l’onglet Historique de la règle, chacune affichant la machine_id température déclenchée, la température au moment du feu et un appel réussi à file_repair_job.

    Capture d’écran de la règle d’activateur OverheatingDispatch en cours d’exécution, avec l’action appelant la file_repair_job UDF et en passant l’ID d’ordinateur, l’ID d’usine et la température en tant que paramètres.

    Figure 3 : La OverheatingDispatch règle d’activateur se déclenche lorsque la température d’une machine reste supérieure à 50 °C pendant 5 minutes, en appelant file_repair_job l’identité, l’usine et la température actuelle de la machine.

Nettoyer les ressources

Lorsque vous avez terminé, supprimez les éléments eventstream, User Data Function et Activator de votre espace de travail, puis supprimez l’espace de noms Event Hubs du portail Azure pour éviter toute facturation.