Come funziona il servizio Azure Bot

Completato

In questa unità, si esplorerà l'uso di Bot Framework Composer per progettare bot in una finestra di progettazione visiva interattiva. Si apprenderà come estendere il bot con le funzionalità di linguaggio e intelligenza artificiale all'interno di Bot Framework Composer e si acquisiranno nozioni di base per creare un bot, estendere le funzionalità del bot e pubblicare un bot nel servizio Azure Bot.

In che cosa consiste l'architettura di un pacchetto bot?

Il servizio Azure Bot e Bot Framework supportano il processo completo di creazione di un bot, incluse le attività di progettazione, creazione, test e pubblicazione.

Gli sviluppatori di bot usano Bot Framework Composer per creare un pacchetto bot. Questo pacchetto contiene la logica del bot e i dettagli sulle integrazioni e le connessioni del bot, inclusi i canali di input e l'autenticazione. Nel pacchetto bot è incluso anche codice personalizzato. Il pacchetto bot è ospitato dal servizio Azure Bot. Un servizio Azure Bot può essere paragonato a un'app Web di Azure, con alcune funzionalità aggiuntive che forniscono l'endpoint principale per l'interazione con il bot. Tramite il servizio Bot, gli utenti possono interagire con il bot. Nel frattempo, il servizio può gestire le interazioni REST in ingresso e in uscita per canali esterni e altre integrazioni.

Nota

Il pacchetto bot può anche essere gestito con Bot Framework SDK tramite Visual Studio o Visual Studio Code.

Diagram of the Azure Bot Service architecture.

Valutare il tipo di bot da creare

Prima di creare il bot, è necessario stabilire quale tipo di bot creare. Nel prendere una decisione, considerare le domande seguenti:

  • Per che cosa si userà il bot? Determinare quale tipo di bot si vuole creare. La pianificazione consente di definire le funzionalità da implementare.

  • Quali problemi dovrà risolvere il bot? È necessario essere chiari su questo punto. Quando si creano bot, la risoluzione dei problemi per i clienti è un aspetto fondamentale da prendere in considerazione. È inoltre necessario considerare come risolvere il problema dell'utente in modo più efficace, semplice o veloce rispetto alle esperienze alternative.

  • Da chi verrà usato il bot? Se si sta progettando un bot, evidentemente ci si aspetta che venga usato da determinati utenti. Clienti diversi si aspettano esperienze utente diverse. Conoscere i destinatari sarà utile per determinare la complessità della progettazione del bot. Valutare quali lingue implementare per il bot.

    Suggerimento

    Garantire un'ottima esperienza utente deve essere la priorità assoluta nella progettazione di un bot.

  • Dove verrà usato il bot? È necessario decidere su quali piattaforme verrà eseguito il bot. Ad esempio, un bot progettato per l'esecuzione su un dispositivo mobile potrebbe richiedere funzionalità come l'invio di SMS.

    Importante

    L'esperienza di pubblicazione varia a seconda della piattaforma.

Sviluppare le funzionalità di base del bot in Bot Framework Composer

È possibile usare Composer per progettare, creare, estendere e testare un bot. Composer offre un'area di modifica visiva per la creazione di bot. È in genere il punto di partenza per il processo di creazione del servizio Azure Bot.

È possibile usare la finestra di progettazione visiva di Composer per sviluppare in modo intuitivo le funzionalità di base per il bot. È possibile usare Playground per:

  • Aggiungere al bot funzionalità di comprensione del linguaggio naturale con QnA Maker. È possibile usare funzionalità come LUIS, QnA o FAQ.
  • Creare risposte con variazione di testo e voce per il bot usando modelli di generazione del linguaggio.
  • Creare bot in più lingue.
  • Eseguire il test direttamente all'interno di Composer usando la funzionalità di chat Web incorporata.
  • Pubblicare i bot in Servizio app di Azure e Funzioni di Azure.
  • Integrare servizi esterni, ad esempio le app LUIS e le knowledge base di QnA Maker.

Creare dialoghi e il flusso della conversazione

I dialoghi controllano le conversazioni che un bot intrattiene con gli utenti. I dialoghi contengono modelli di risposta di generazione di linguaggio che definiscono le risposte del bot e le istruzioni in base alle quali dovrà eseguire determinate attività, come la prenotazione di una cena a un ristorante o la creazione di una voce di calendario di Outlook.

Molti dialoghi sono lineari, con una sequenza semplice di domande e risposte, mentre altri includono anche una logica di conversazione avanzata. Questa logica può includere diramazioni, cicli e dialoghi dinamici e adattivi basati sul contesto. Questi tipi di dialoghi usano in genere dati esterni, gestiscono dati sulle conversazioni con stato e applicano le interruzioni necessarie nella conversazione.

Includere flussi esterni con competenze e altri bot

È possibile creare flussi di conversazione più complessi importando nel bot competenze di Composer, pacchetti NuGet e anche altri bot del servizio Azure Bot. È inoltre possibile creare una serie annidata di bot per creare un set di funzionalità di bot più modulare e riutilizzabile, nonché unire questi componenti modulari più piccoli in più combinazioni per fornire un set di funzionalità per bot padre diversi. Ad esempio, si potrebbe avere un bot che gestisce il flusso di conversazione riguardante la gestione delle voci del calendario, con input e risposte, ad esempio "Quand’è il mio prossimo meeting?" o "Ti serve una sala riunioni?". Inserendo il bot come competenza, è possibile integrare facilmente la competenza (e la funzionalità di gestione delle conversazioni del calendario a essa associata) in qualsiasi altro bot creato.

Usare schede, immagini e pulsanti per migliorare la conversazione

È possibile usare diversi metodi visivi e interattivi per migliorare la conversazione per gli utenti del bot. Usando le schede è possibile creare contenuto basato su testo formattato, immagini e pulsanti per offrire un'esperienza più interattiva rispetto al testo normale. Composer offre diversi tipi di schede, tra cui schede di anteprima, accesso, audio e video.

Estendere l'intelligenza e la comprensione del linguaggio con LUIS e QnA Maker

LUIS offre funzionalità di elaborazione del linguaggio naturale con un sistema completo di gestione di finalità ed entità. È possibile integrare app LUIS create in precedenza o creare nuove app all'interno di Composer per aggiungere al bot solide funzionalità di comprensione del linguaggio naturale.

QnA Maker è un servizio basato sul cloud. Usarlo per estrarre coppie di domande e risposte da siti Web e documenti esistenti di tipo Domande frequenti. È quindi possibile importare le informazioni in una knowledge base che gli esperti possono gestire manualmente. Il bot può essere integrato con un knowledge base di QnA. Questa integrazione consente di trovare la risposta più appropriata per qualsiasi input in linguaggio naturale.

Testare il bot con Chat Web

È possibile testare le funzionalità del bot direttamente in Composer tramite Chat Web. Questo controllo esegue il bot in un runtime di bot locale, consentendo così di testare il bot in locale sul computer di sviluppo senza pubblicarlo in Azure. Chat Web include funzionalità complete per il debug, la registrazione delle trascrizioni e l'ispezione dello stato del bot per testare tutti gli aspetti delle funzionalità del bot.

Aggiungere middleware ed estendere le funzionalità del bot con Bot Framework SDK

Usare Visual Studio, Visual Studio Code o l'IDE supportato preferito insieme a Bot Framework SDK per modificare il codice sorgente ed estendere le funzionalità del bot. Creare i pacchetti di bot e pubblicarli come pacchetti NuGet. Importare questi pacchetti in Composer per una facile integrazione. È possibile spostarsi senza problemi tra Composer e Bot Framework SDK per tutto il ciclo di vita di sviluppo del bot. In questo modo si ha la certezza di usare sempre lo strumento più efficace per qualsiasi attività di sviluppo.

Pubblicare il bot in Azure

Il servizio Azure Bot ospita la funzionalità per bot in Azure. I bot possono essere pubblicati direttamente dall'interfaccia di Composer, creando un'esperienza di sviluppo end-to-end all'interno di Composer.

Il servizio Azure Bot ospita un bot in una risorsa App Web di Azure, che contiene il codice, la logica e gli endpoint REST HTTP di base per la connettività con risorse esterne. Il servizio Azure Bot offre anche canali del servizio Bot preconfigurati, che forniscono un livello adapter per l'interazione del bot con il protocollo di un altro servizio di chat, ad esempio Facebook, Slack, Teams, telefonia e altri.

Quando si pubblica un bot da Composer, il processo di pubblicazione può anche creare o importare risorse di Azure dipendenti, incluse le risorse di LUIS, QnA Maker, Azure Cosmos DB, Application Insights e Archiviazione BLOB.