Zelfstudie: Een end-to-end Activator-regel maken met behulp van agentische AI

Fabric Activator detecteert patronen in streaminggegevens en neemt actie wanneer aan voorwaarden wordt voldaan. In deze zelfstudie gebruikt u een AI-agent om een end-to-end-pijplijn te bouwen. De pijplijn bewaakt een stroom van telemetriegebeurtenissen, detecteert aanhoudende oververhitting en roept een Fabric User Data Function (UDF) aan om een reparatieopdracht in te dienen. Je schrijft de prompts; de agent doet het schrijfwerk.

In deze zelfstudie wordt telemetrie van machines die widgets maken als doorlopend voorbeeld gebruikt, maar dezelfde prompts zijn bruikbaar voor vrijwel alle tijdreeksgegevens met een stabiele ID per entiteit—IoT-apparaten, wagenparken, logistieke gebeurtenissen, financiële tickgegevens, applicatiemetrieken, enzovoort. Vervang de veldnamen en drempelwaarde zodat ze passen bij uw gegevensstructuur.

In deze zelfstudie voert u de volgende taken uit:

  • Stel een eventstream in via uw Event Hub.
  • Maak een gebruikersgegevensfunctie om de hersteltaak in te voeren.
  • Een Activator-regel maken waarmee de functie wordt geactiveerd.

Als u Fabric Activator nog niet kent, raadpleeg dan Wat is Fabric Activator?. Als u nog niet bekend bent met Fabric-gebruikersgegevensfuncties, raadpleegt u What are Fabric User Data Functions?.

Overzicht van scenario

Een fabrikant beheert een machinepark van machines voor het maken van widgets, verspreid over meerdere fabrieken. Elke machine verzendt telemetrie( temperatuur, trillingen, druk, uitvoeringsstatus) naar een Azure Event Hub. Wanneer een machine een hoge bedrijfstemperatuur heeft, heeft deze een onderhoudsbeurt nodig voordat hij defect raakt.

Voor deze zelfstudie maakt elke gebeurtenis gebruik van een klein representatief schema: een id per machine (machine_id), een locatietag (plant_id), een numerieke metrische waarde voor het bewaken (temperature_c) en een run-state-veld (state). De exacte veldnamen maken niet uit: dezelfde promptstructuur werkt voor elke ID per entiteit plus een meetwaarde waarvoor u een drempelwaarde wilt instellen.

U bouwt een Fabric-pijplijn die de telemetriestroom bewaakt, een regel voor een duurzame drempelwaarde toepast en een gebruikersgegevensfunctie aanroept om de hersteltaak in te dienen. De regel groepeert gebeurtenissen op basis van machine_id en wordt geactiveerd wanneer temperature_c gedurende 5 minuten boven 50 °C blijft. Wanneer deze wordt geactiveerd, geeft deze machine_id, plant_id en de huidige temperatuur door aan de actie.

Architectuurdiagram van telemetrie van machines via Azure Event Hubs, een Fabric eventstream, een Activator-regel en een UDF.

Prerequisites

Voordat u begint, hebt u het volgende nodig:

  • Een Fabric-werkruimte op F4-capaciteit (of hoger), met bewerkingsmachtigingen. Zie Werkruimten voor meer informatie over werkruimten.
  • Een agent die compatibel is met vaardigheden, bijvoorbeeld GitHub Copilot CLI of GitHub Copilot in Visual Studio Code, waarop de Fabric-vaardigheden zijn geïnstalleerd.
  • Een Azure Event Hubs-naamruimte en hub die de telemetrie streamen. U hebt de naamruimte-FQDN, hubnaam en een Listen+Send verbindingsreeks nodig.

Eventstream instellen

In deze stap maakt u de eventstream die zich abonneert op uw Event Hub. U geeft de agent een prompt en valideert het resultaat in het portal.

  1. Geef de agent deze prompt en vervang de tijdelijke aanduidingen door waarden uit uw Event Hub:

    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. De agent roept de vaardigheid eventstream-creatie aan. Hiermee maakt u het eventstream-item, configureert u de Event Hub als bron en retourneert u een klikbare URL naar het item in de Fabric-portal. U hebt geen bestemming nodig: Activator abonneert zich rechtstreeks op de stream.

  3. Selecteer de koppeling die de agent u heeft gegeven. Controleer in de Live view of de event hub-bron Verbonden is en of telemetriegebeurtenissen van widget-machines binnenkomen.

    Schermopname van de WidgetMachineTelemetry-gebeurtenisstream waarop de verbonden Event Hub-bron en de Activator-bestemming te zien zijn, met een voorbeeld van livegegevens.

    Afbeelding 1: De WidgetMachineTelemetry eventstream: gebeurtenissen stromen van de widget-telemetry Event Hub-bron via de stroom naar de WidgetMachineMaintenance Activator-bestemming.

De functie Gebruikersgegevens maken

In deze stap maakt u de functie Gebruikersgegevens die uw Activator-regel aanroept. De functie verzendt de hersteltaakaanvraag naar uw downstream-API.

  1. Geef de agent deze prompt:

    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. De agent roept de Fabric UDF-creatievaardigheden aan. Het implementeert een Python UDF-item, implementeert file_repair_job met httpx, publiceert de UDF, bevestigt dat de functie aanroepbaar is en retourneert een klikbare URL naar het item.

  3. Selecteer de koppeling die de agent u heeft gegeven en gebruik vervolgens het ingebouwde testvenster om aan te roepen file_repair_job met een voorbeeldpayload. Bijvoorbeeld: machine_id="widget-press-042", plant_id="plant-eu-01", temperature_c=52.7. De aanroep naar contoso.com geeft een HTTP-fout terug — dat is te verwachten, omdat het placeholder-eindpunt niet wordt opgelost. Het belangrijkste gedrag is dat de UDF de uitgaande HTTP-aanroep heeft geïmplementeerd, geregistreerd en bereikt.

    Schermopname van de functie MaintenanceDispatcher-gebruikersgegevens met de file_repair_job Python bron in de portal-editor.

    Afbeelding 2: De MaintenanceDispatcher functie Gebruikersgegevens:file_repair_job stuurt de details van de oververhittingsmachine naar het onderhoudssysteem.

Note

In deze tutorial wordt https://contoso.com/maintenance/fileRepairJob gebruikt als plaatsaanduiding voor het eindpunt van het daadwerkelijke onderhoudssysteem. Vervang het door een HTTPS-eindpunt naar keuze. Voor geverifieerde eindpunten haalt u referenties op uit Azure Key Vault via een algemene UDF-verbinding. Raadpleeg Gegevensbronnen openen in Fabric-gegevensfuncties voor gebruikers voor meer informatie.

De Activator-regel schrijven

In deze stap maakt u de Activator-regel die de eventstream bewaakt en uw UDF aanroept wanneer een machine oververhit raakt.

  1. Geef de agent deze prompt:

    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. De agent roept de Activator-creatievaardigheid aan en maakt het Activator-item. De agent groepeert de regel op basis van machine_id, bouwt de detectie van aanhoudende drempeloverschrijding en configureert de actie om uw UDF aan te roepen met machine_id, plant_id en de huidige temperatuur. De agent retourneert vervolgens een klikbare URL naar de regel.

  3. Selecteer de koppeling die de agent u heeft gegeven en doorloop vervolgens deze controlelijst:

    • Gegevens stromen naar de regel. Open het onderliggende Activator-object van de regel in het deelvenster Explorer en controleer of recente gebeurtenissen worden weergegeven in de livetabel met niet-null machine_id en temperature_c waarden.
    • De regel wordt uitgevoerd. Controleer of de regel de status Gestart of Actief heeft en dat de samenvatting van het Activator-object uw machines als actieve exemplaren weergeeft.
    • De agent registreert activeringen. Als oververhitte machines 5 minuten lang boven 50°C blijven, verschijnen er vermeldingen in het tabblad Geschiedenis van de regel, waarbij telkens wordt getoond welke machine_id werd geactiveerd, wat de temperatuur was op het moment van activering en dat er een geslaagde aanroep van file_repair_job was.

    Schermafbeelding van de actieve regel OverheatingDispatch Activator, waarbij de actie de UDF file_repair_job aanroept en de machine-id, fabrieks-id en temperatuur als parameters doorgeeft.

    Figuur 3: De OverheatingDispatch Activator-regel—wordt geactiveerd wanneer de temperatuur van een machine gedurende 5 minuten boven 50 °C blijft en roept file_repair_job aan met de identiteit, fabriek en huidige temperatuur van de machine.

De hulpbronnen opschonen

Wanneer u klaar bent, verwijdert u de items eventstream, User Data Function en Activator uit uw werkruimte en verwijdert u de Event Hubs-naamruimte uit de Azure-portal om de kosten te stoppen.