Oktatóanyag: Teljes körű Activator-szabály létrehozása ágensalapú AI használatával

Fabric Activator észleli a streamelési adatok mintáit, és műveletet hajt végre a feltételek teljesülése esetén. Ebben az oktatóanyagban egy AI-ügynököt használ egy végpontok közötti folyamat létrehozásához. A folyamat telemetriai események adatfolyamát figyeli, észleli a tartós túlmelegedést, és meghív egy Fabric felhasználói adatfüggvényt (UDF) a javítási feladat fájlba helyezéséhez. Ön írja a promptokat; az AI-ügynök pedig elkészíti a tartalmat.

Ez az oktatóanyag a widgetkészítő gép telemetriáját használja a futó példaként, de ugyanezek a kérések szinte minden olyan idősoros adatnál működnek, amely stabil entitásonkénti azonosítóval rendelkezik – IoT-eszközök, járműflották, logisztikai események, pénzügyi ketyegések, alkalmazásmetrikák stb. Cserélje le a mezőneveket és a küszöbértéket az adatalakzatnak megfelelően.

Az oktatóanyagban az alábbi feladatokat fogja végrehajtani:

  • Állítson be egy eseménystreamet az eseményközponton keresztül.
  • Hozzon létre egy felhasználói adatfüggvényt a javítási feladat fájlba iktatásához.
  • A függvényt aktiváló Activator-szabály létrehozása.

Ha még nem ismeri a Fabric Activatort, lásd a Mi az a Fabric Activator? című témakört. Ha még nem ismeri a Fabric felhasználói adatfüggvényeit, tekintse meg a Mik azok a Fabric felhasználói adatfüggvények?.

Forgatókönyv áttekintése

A gyártó több üzemre kiterjedő widgetkészítő gépekből álló flottát üzemeltet. Minden gép telemetriát – hőmérsékletet, rezgést, nyomást, futási állapotot – bocsát ki egy Azure eseményközpontba. Ha egy gép magas futási hőmérsékletet tart fenn, karbantartást kell elvégeznie, mielőtt leáll.

Ebben az oktatóanyagban minden esemény egy kis reprezentatív sémát használ: egy gépenkénti azonosítót (machine_id), egy helycímkét (plant_id), egy numerikus metrikát a monitorozáshoz (temperature_c) és egy futásállapot-mezőt (state). A pontos mezőnevek nem számítanak – ugyanaz a parancssori alakzat működik az entitásonkénti azonosítóknál, valamint egy metrika esetében, amelyet küszöbértékként szeretne megadni.

Létrehoz egy Fabric-folyamatot, amely figyeli a telemetriai adatfolyamot, alkalmaz egy tartós küszöbátlépési szabályt, és meghív egy User Data Functiont a javítási feladat rögzítéséhez. A szabály az eseményeket machine_id szerint csoportosítja, és akkor aktiválódik, amikor a(z) temperature_c 5 percen át 50 °C felett marad. Amikor aktiválódik, átadja a machine_id, a plant_id és az aktuális hőmérsékletet a műveletnek.

Architektúradiagram a gépektől az Azure Event Hubson, egy Fabric eseményfolyamon, egy Activator-szabályon és egy UDF-en keresztül áramló telemetriáról.

Prerequisites

Mielőtt hozzákezdene, a következőkre van szüksége:

  • Egy Fabric munkaterület F4 (vagy magasabb) kapacitáson, szerzői engedélyekkel. A munkaterületekről további információt a Munkaterületek című témakörben talál.
  • Készségekkel kompatibilis ügynök – például a GitHub Copilot CLI vagy a Visual Studio Code-ba beépített GitHub Copilot –, amelyre telepítve vannak a Fabric-készségek.
  • Egy Azure Event Hubs névtér és a telemetriát streamelő központ. Szüksége lesz a névtér FQDN-jére, a hub nevére és egy Listen+Send kapcsolati sztringre.

Az eventstream beállítása

Ebben a lépésben hozza létre az eseménystreamet, amely feliratkozik az eseményközpontra. Utasítást ad az ügynöknek, és ellenőrzi az eredményt a portálon.

  1. Adja oda az ügynöknek ezt az utasítást, a helyőrzőket pedig cserélje le az eseményközpontjából származó értékekre:

    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. Az ügynök meghívja az eseményfolyam-szerkesztési készséget. Létrehozza az eseménystream elemet, forrásként konfigurálja az eseményközpontot, és egy kattintható URL-címet ad vissza az elemhez a Fabric portálon. Nincs szüksége célhelyre – az Activator közvetlenül feliratkozik a streamre.

  3. Válassza ki az ügynök által megadott hivatkozást. A Élő nézetben győződjön meg arról, hogy az eseményközpont-forrás Csatlakoztatva állapotú, és a widget-machine telemetriai események beérkeznek.

    Képernyőkép a WidgetMachineTelemetry eseménystreamről, amelyen az eseményközpont csatlakoztatott forrása és az Activator célja látható élő adatok előnézetével.

    1. ábra: Az WidgetMachineTelemetry eseménystream – az események az widget-telemetry eseményközpont forrásától a streamen keresztül az WidgetMachineMaintenance Activator célhelyére áramlanak.

A Felhasználói adatok függvény létrehozása

Ebben a lépésben létre kell hoznia az Activator szabály által meghívott Felhasználói adatok függvényt. A függvény elküldi a javítási feladat kérését az alsóbb rétegbeli API-nak.

  1. Adja meg az ügynöknek ezt a kérdést:

    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. Az ügynök meghívja a Fabric UDF-szerzői képességet. Létrehoz egy Python UDF-elemet, implementálja a file_repair_jobhttpx, közzéteszi az UDF-et, megerősíti, hogy a függvény hívható, és egy kattintható URL-címet ad vissza az elemhez.

  3. Válassza az ügyintéző által megadott hivatkozást, majd a beépített Teszt panel használatával hívja meg a(z) file_repair_job elemet egy mintaterheléssel. Például: machine_id="widget-press-042", plant_id="plant-eu-01", temperature_c=52.7. A(z) contoso.com hívása HTTP-hibát ad vissza, ez várható, mert a helyőrző végpont nem oldódik fel. A fontos viselkedés az, hogy a UDF üzembe helyezte, regisztrálta és elérte a kimenő HTTP-hívást.

    A MaintenanceDispatcher Felhasználói adatfunkció képernyőképe, amelyen a file_repair_job Python-forráskód látható a portálszerkesztőben.

    2. ábra: A MaintenanceDispatcher Felhasználói adatok függvény –file_repair_job elküldi a túlmelegedő gép adatait a karbantartási rendszernek.

Note

Ez az oktatóanyag a https://contoso.com/maintenance/fileRepairJob elemet a valódi karbantartási rendszer végpontjának helyőrzőjeként használja. Cserélje le egy tetszőleges saját HTTPS-végpontra. Hitelesített végpontok esetén kérje le a hitelesítő adatokat Azure Key Vault egy általános UDF-kapcsolaton keresztül. További információkért lásd: Az adatforrások elérése a Fabric felhasználói adatfüggvényeiben.

Az Activator szabály szerzője

Ebben a lépésben létrehoz egy Activator-szabályt, amely figyeli az eseménystreamet, és meghívja a UDF-et, amikor egy gép túlmelegszik.

  1. Adja meg az ügynöknek ezt a kérdést:

    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. Az ügynök használja az Activator létrehozási képességet, és létrehozza az Activator-elemet. Az ügynök a szabályt machine_id szerint csoportosítja, létrehozza a tartósküszöb-észlelést, és úgy konfigurálja a műveletet, hogy az meghívja az UDF-et a(z) machine_id, plant_id és az aktuális hőmérséklet értékekkel. Az ügynök ezután egy kattintható URL-címet ad vissza a szabályhoz.

  3. Válassza ki az ügynök által megadott hivatkozást, majd tekintse át ezt az ellenőrzőlistát:

    • Az adatok a szabályba áramlanak. Nyissa meg a szabály alapjául szolgáló Activator-objektumot az Explorer panelen, és győződjön meg arról, hogy a legutóbbi események nem null machine_id értékű és temperature_c értékekkel jelennek meg az élő táblázatban.
    • A szabály futtatása folyamatban van. Győződjön meg arról, hogy a szabály Elindítva vagy Futó állapotban van, és az Activator objektum összefoglalója a gépeit aktív példányokként jeleníti meg.
    • Az ügynök rögzíti az aktiválásokat. Mivel a túlmelegedő gépek 5 percig 50°C felett maradnak, a bejegyzések megjelennek a szabály Előzmény lapján, amelyek mindegyike megjeleníti az machine_id aktivált értéket, a tűz idejének hőmérsékletét és a sikeres hívásokat file_repair_job.

    Képernyőkép az éppen futó OverheatingDispatch Activator-szabályról, amelyben a művelet meghívja a file_repair_job UDF-et, és paraméterként átadja a gépazonosítót, az üzemazonosítót és a hőmérsékletet.

    3. ábra: Az OverheatingDispatch aktiválási szabály – akkor aktiválódik, ha egy gép hőmérséklete 5 percig 50°C felett marad, és a gép identitásával, üzemével és aktuális hőmérsékletével invokál file_repair_job .

Erőforrások tisztítása

Ha végzett, törölje az eseményfolyamot, a User Data Function és az Activator elemet a munkaterületről, majd törölje az Event Hubs névterét az Azure Portalról a díjak felszámításának leállításához.