Esercitazione: Creare una regola di attivazione end-to-end usando l'intelligenza artificiale agente

Fabric Activator rileva i modelli nei dati di streaming e agisce quando vengono soddisfatte le condizioni. In questa esercitazione si usa un agente di intelligenza artificiale per creare una pipeline end-to-end. La pipeline monitora un flusso di eventi di telemetria, rileva un surriscaldamento persistente e chiama una funzione dati utente (UDF) di Fabric per aprire un ordine di riparazione. Scrivi i prompt; l'agente si occupa della stesura.

Questa esercitazione usa come esempio guida i dati di telemetria di una macchina per la produzione di widget, ma gli stessi prompt funzionano con quasi tutti i dati di serie temporali con un ID stabile per entità, ad esempio dispositivi IoT, flotte di veicoli, eventi logistici, tick finanziari, metriche applicative e così via. Sostituire i nomi dei campi e la soglia in modo che corrispondano alla struttura dei dati.

In questa esercitazione si completano le attività seguenti:

  • Configurare un flusso di eventi sull'hub eventi.
  • Creare una funzione dati utente per archiviare il processo di ripristino.
  • Creare una regola di attivazione che attiva la funzione.

Se non conosci Fabric Activator, consulta Che cos'è Fabric Activator?. Se non conosci le funzioni dati utente di Fabric, vedi Che cosa sono le funzioni dati utente di Fabric?.

Panoramica dello scenario

Un produttore gestisce una flotta di macchine per la creazione di widget in più impianti. Ogni computer genera dati di telemetria, ovvero temperatura, vibrazione, pressione, stato di esecuzione, in un hub eventi Azure. Quando una macchina mantiene una temperatura di esercizio elevata, ha bisogno di un intervento di manutenzione prima che si guasti.

Per questa esercitazione, ogni evento usa uno schema rappresentativo di piccole dimensioni: un ID per computer (machine_id), un tag di posizione (plant_id), una metrica numerica da monitorare (temperature_c) e un campo dello stato di esecuzione (state). I nomi esatti dei campi non contano: la stessa struttura del prompt funziona per qualsiasi ID associato a ciascuna entità e per qualsiasi metrica a cui vuoi applicare una soglia.

Si compila una pipeline di Fabric che controlla il flusso di telemetria, applica una regola di soglia sostenuta e chiama una funzione dati utente per archiviare il processo di ripristino. La regola raggruppa gli eventi per machine_id e si attiva quando temperature_c rimane al di sopra di 50 °C per 5 minuti. Quando viene attivato, passa machine_id, plant_id e la temperatura corrente all'azione.

Diagramma dell'architettura del flusso di telemetria dalle macchine attraverso Hub eventi di Azure, un flusso di eventi di Fabric, una regola di Activator e una funzione definita dall'utente (UDF).

Prerequisiti

Prima di iniziare, è necessario disporre di quanto segue:

  • Un'area di lavoro di Fabric su capacità F4 (o superiore), con autorizzazioni di authoring. Per altre informazioni sulle aree di lavoro, vedere Aree di lavoro.
  • Un agente compatibile con le skill, ad esempio GitHub Copilot CLI o GitHub Copilot in Visual Studio Code, con le skill di Fabric installate.
  • Un namespace e un hub di Hub eventi di Azure con streaming della telemetria. Sono necessari il nome di dominio completo dello spazio dei nomi, il nome dell'hub e una stringa di connessione Listen+Send.

Configurare il flusso di eventi

In questo passaggio, si crea il flusso di eventi che si sottoscrive al tuo hub eventi. Fornisci un prompt all'agente e convalidi il risultato nel portale.

  1. Fornisci questo prompt all'agente, sostituendo i segnaposto con i valori del tuo hub di eventi:

    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'agente invoca la funzionalità di creazione di eventstream. Crea l'elemento eventstream, configura l'hub eventi come origine e restituisce un URL selezionabile all'elemento nel portale di Fabric. Non serve una destinazione: Activator si iscrive direttamente al flusso.

  3. Selezionare il collegamento fornito dall'agente. Nella visualizzazione in tempo reale, confermare che l'origine di Event Hub sia Connessa e che gli eventi di telemetria della macchina widget siano in arrivo.

    Schermata del flusso di eventi WidgetMachineTelemetry con l'origine Hub eventi connessa e la destinazione Activator, con anteprima dei dati in tempo reale.

    Figura 1: Flusso di eventi WidgetMachineTelemetry: gli eventi fluiscono dall'origine dell'hub eventi widget-telemetry attraverso il flusso fino alla destinazione Activator WidgetMachineMaintenance.

Creare la funzione Dati utente

In questo passaggio viene creata la funzione Dati utente chiamata dalla regola Activator. La funzione invia la richiesta di riparazione all'API a valle.

  1. Fornisci all'agente questo 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. L'agente invoca la funzionalità Fabric per la creazione di funzioni definite dall'utente (UDF). Crea la struttura di base di un elemento UDF Python, implementa file_repair_job con httpx, pubblica l'UDF, verifica che la funzione sia richiamabile e restituisce un URL cliccabile dell'elemento.

  3. Selezionare il collegamento fornito dall'agente, quindi usare il riquadro test predefinito per richiamare file_repair_job con un payload di esempio. Ad esempio: machine_id="widget-press-042", plant_id="plant-eu-01", temperature_c=52.7. La chiamata a contoso.com restituisce un errore HTTP: è previsto, perché l'endpoint segnaposto non si risolve. Il comportamento importante è che la UDF è stata distribuita, registrata ed è arrivata fino alla chiamata HTTP in uscita.

    Schermata della funzione Dati utente MaintenanceDispatcher che mostra il codice sorgente Python di file_repair_job nell'editor del portale.

    Figura 2: La MaintenanceDispatcher funzione dati utente—file_repair_job invia i dettagli della macchina surriscaldata al sistema di manutenzione.

Note

Questo tutorial usa https://contoso.com/maintenance/fileRepairJob come segnaposto per l'endpoint reale del sistema di manutenzione. Sostituirlo con qualsiasi endpoint HTTPS personalizzato. Per gli endpoint autenticati, recuperare le credenziali da Azure Key Vault tramite una connessione generica UDF. Per altre informazioni, vedere Access data sources in Fabric User data functions.

Crea la regola di attivazione

In questo passaggio, crei la regola Activator che monitora l'eventstream e chiama la tua UDF quando una macchina si surriscalda.

  1. Fornisci all'agente questo 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. L'agente invoca l'abilità di creazione di Activator e crea l'elemento Activator. L'agente raggruppa la regola per machine_id, crea il rilevamento della soglia persistente e configura l'azione per chiamare la UDF (funzione definita dall'utente) con machine_id, plant_id e la temperatura corrente. L'agente restituisce quindi un URL cliccabile della regola.

  3. Selezionare il collegamento fornito dall'agente, quindi esaminare questo elenco di controllo:

    • I dati fluiscono nella regola. Aprire l'oggetto Activator sottostante alla regola nel riquadro Explorer e verificare che gli eventi recenti vengano visualizzati nella tabella in tempo reale con valori machine_id e temperature_c non nulli.
    • La regola è in esecuzione. Verificare che la regola sia nello stato Avviato o In esecuzione e il riepilogo dell'oggetto Activator mostra i computer come istanze attive.
    • L'agente registra le attivazioni. Quando le macchine surriscaldate rimangono sopra i 50 °C per 5 minuti, nella scheda Cronologia della regola compaiono delle voci, ciascuna delle quali mostra l'elemento machine_id che si è attivato, la temperatura al momento dell'attivazione e una chiamata riuscita a file_repair_job.

    Schermata della regola Activator OverheatingDispatch in esecuzione, con l'azione che chiama la UDF file_repair_job, passandole come parametri l'ID macchina, l'ID dello stabilimento e la temperatura.

    Figura 3: La OverheatingDispatch regola Activator: viene attivata quando la temperatura di una macchina rimane superiore a 50°C per 5 minuti, richiamando file_repair_job l'identità, l'impianto e la temperatura corrente della macchina.

Pulire le risorse

Al termine, eliminare gli elementi eventstream, User Data Function e Activator dall'area di lavoro e lo spazio dei nomi di Event Hubs dal portale di Azure per evitare ulteriori addebiti.