Vai al contenuto

Come integrare i workflow di Logic App come plugin in Semantic Kernel

Scopri come potenziare Semantic Kernel integrando Logic Apps per automatizzare i workflow.

Nel panorama attuale dell’intelligenza artificiale, Semantic Kernel si distingue come un framework innovativo che unisce l’elaborazione del linguaggio naturale (NLP) e l’intelligenza artificiale nelle applicazioni. Questa combinazione rende l’uso di modelli di AI avanzati più accessibile e potente. Integrando i Logic Apps come plugin, possiamo amplificare ulteriormente le capacità di Semantic Kernel, avvalendoci di oltre 1000 connettori per collegamenti a servizi esterni. Ciò consente connessioni senza soluzione di continuità con servizi cloud, sistemi locali e ambienti ibridi, facilitando l’automazione di flussi di lavoro complessi e l’interazione con diversi sistemi.

Qui esploreremo una guida passo-passo su come impostare questa integrazione fondamentale, comprensiva di campioni di codice da utilizzare per illustrare l’intero processo. Ciò non solo semplifica il lavoro di sviluppo, ma offre anche la possibilità di sfruttare funzionalità avanzate senza dover sviluppare soluzioni personalizzate da zero.

Passo 1: Creare una Logic App

Iniziamo con la creazione di una Logic App (Standard) che deve comprendere almeno due workflow:

  • Uno per recuperare ticket attivi in base a un luogo specificato tramite payload JSON.
  • Un secondo per fornire aggiornamenti meteo per la stessa località.

Entrambi i workflow dovrebbero utilizzare trigger basati su richieste HTTP. È utile includere un commento nel trigger che spieghi il prompt che attiverà il workflow, come ad esempio “recupera ticket attivi” da Dataverse.

Passo 2: Configurare OpenAI

È essenziale creare una risorsa OpenAI, in quanto servirà per ottenere i dettagli del modello e le variabili ambientali necessarie per l’app Semantic Kernel. Puoi trovare la chiave API e l’endpoint all’interno di questa risorsa. Successivamente, dovrai passare all’Azure OpenAI Studio per creare una distribuzione del modello. È importante scegliere un modello che supporti le chiamate di funzione; ad esempio, ho usato GPT-4 come modello base e ho impostato un limite elevato di token per evitare errori nelle conversazioni prolungate.

Passo 3: Configurare Easy Auth

Il Easy Auth è una funzionalità fondamentale per la sicurezza dei workflow di Logic Apps, poiché fornisce autenticazione e autorizzazione integrate. Supporta vari fornitori di autenticazione, come Azure Active Directory, semplificando la gestione degli accessi. Procediamo suddividendo questo passaggio in tre fasi principali:

  • Registrazione dell’app: Cerca “Registrazione app” nel portale Azure e crea una nuova registrazione se non ne possiedi già una.
  • Configurazione di Easy Auth: Nella tua Logic App (Standard), vai su Impostazioni -> Autenticazione e aggiungi il provider di identità, fornendo i dettagli della registrazione dell’app e le informazioni necessarie.
  • Dettagli di autenticazione nel Semantic Kernel: Aggiorna il file Program.cs con i dettagli di autenticazione estratti dalla registrazione dell’app.

Passo 4: Aggiungere Logic App come plugin in Semantic Kernel

A questo punto, puoi incorporare il plugin nel file Program.cs del tuo progetto Semantic Kernel. Utilizza il metodo ImportPluginFromOpenAPIAsync() per aggiungere il plugin e specifica i parametri come il nome del plugin e l’URI della tua Logic App.

Passo 5: Testare il plugin

Dopo aver configurato tutto, apri il terminale di VS Code e utilizza il comando di build per identificare eventuali problemi, quindi avvia l’applicazione. A questo punto, potrai iniziare a porre domande all’assistente, come “Qual è il meteo a Seattle?” o “Recupera tutti i ticket attivi a Kirkland”, attivando i workflow desiderati.

L’integrazione dei workflow di Logic App come plugin in framework come Semantic Kernel offre nuove opportunità per programmatori e sviluppatori. La possibilità di collegarsi a vari sistemi attraverso i Logic Apps amplia le funzionalità disponibili, facilitando la creazione di agenti intelligenti e workflow complessi.