Sviluppo di azioni bot personalizzate in Botpress

Sviluppo Di Azioni Bot Personalizzate In Botpress



I chatbot sono diventati una parte fondamentale delle aziende moderne che consente loro di fornire una migliore assistenza ai clienti, automatizzare i processi e interagire con gli utenti in modo più efficace. Botpress è un popolare framework di chatbot open source che offre varie azioni integrate. Tuttavia, in alcuni casi, potrebbe essere necessario creare azioni bot personalizzate per soddisfare requisiti specifici ed estendere le capacità del bot. In questo tutorial ti guideremo attraverso la creazione di azioni bot personalizzate in Botpress concentrandoci sulla chiamata di un'API e sull'utilizzo della risposta in un elemento di contenuto.

Comprendere le azioni in Botpress

Le azioni in Botpress sono funzioni lato server eseguite dal bot durante i flussi di conversazione. Hanno il potere di alterare lo stato della conversazione, inviare messaggi personalizzati, eseguire codice arbitrario (come chiamare le API o archiviare dati) e altro ancora. Essenzialmente, le azioni sono normali funzioni JavaScript, il che significa che possono eseguire quasi qualsiasi cosa entro i limiti della piattaforma.

Quando un'azione viene invocata dal Dialogue Manager (DM), riceve diversi argomenti che forniscono il contesto alla funzione. Questi argomenti includono gli attributi utente, le variabili di sessione, le variabili temporanee, le variabili a livello di bot, l'ultimo evento utente nella conversazione, gli argomenti passati da Visual Flow Builder e una VM sandbox che contiene alcune variabili di ambiente.







Registrazione di nuove azioni

Per aggiungere le azioni personalizzate del bot, devi creare un file JavaScript (.js) e inserirlo nel file dati/globali/azioni cartella all'interno del tuo progetto Botpress. Sfortunatamente, non è possibile aggiungere a livello di codice nuove azioni durante il runtime. Utilizzando i commenti JavaDoc nel tuo codice, puoi fornire informazioni significative sulle azioni come nome, descrizione, argomenti e valori predefiniti. Puoi anche nascondere un'azione nell'editor di flusso aggiungendo il flag @hidden true nel commento JavaDoc.



Come creare azioni personalizzate in Botpress

Ecco alcuni passaggi che puoi seguire per creare un'azione personalizzata in Botpress:



Passaggio 1: crea il tuo bot e aggiungi un nodo

Per iniziare, crea un nuovo bot in Botpress. Una volta creato il bot, aggiungi un nuovo nodo al flusso della conversazione.





Passaggio 2: aggiungi messaggi appropriati al tuo nodo

Nel nodo appena creato aggiungi i messaggi necessari per facilitare lo scambio di contenuti con gli utenti. Ad esempio, puoi aggiungere un messaggio di testo per salutare l'utente e chiederne il nome.



Passaggio 3: aprire il codice Esegui dalla barra laterale

Passare alla barra laterale di Botpress Flow Builder e aprire l''Editor di codice'. Qui è dove puoi costruire e amministrare le tue azioni personalizzate.

  C:\Utenti\utente01\Desktop\4124.PNG

Passaggio 4: fare clic sul pulsante 'Aggiungi azione'.

Nella sezione 'Esegui codice', fare clic sul pulsante 'Aggiungi azione'. Questa azione apre la finestra 'Crea una nuova action_legacy'.

  C:\Utenti\utente01\Desktop\tempsnip.png

Passaggio 5: specificare un nome per il file e fare clic sul pulsante Invia

Nella finestra 'Crea una nuova action_legacy', dai un nome significativo al tuo file di azione personalizzato; ad esempio, customAction.js. Una volta specificato il nome, fare clic sul pulsante 'Invia'. Questo crea il file 'customAction.js'.

Passaggio 6: scrivi il tuo codice personalizzato

Apri il file 'customAction.js' appena creato. All'interno del file vedrai il codice boilerplate generato per una nuova azione. Fornisci una descrizione significativa per la tua azione personalizzata utilizzando i commenti appropriati.

Ora scrivi il tuo codice personalizzato all'interno della funzione. Questo codice definisce il comportamento della tua azione personalizzata. Puoi utilizzare JavaScript per eseguire varie attività come effettuare chiamate API, accedere ai database o gestire logiche complesse.

Passaggio 7: modifica il tuo nodo per utilizzare l'azione personalizzata

Torna a Botpress Flow Builder e modifica il nodo in cui desideri attivare l'azione personalizzata. Aggiungi una carta 'Esegui codice' al nodo.

Passaggio 8: seleziona il nome dell'azione personalizzata e specifica i parametri dell'azione

Nella scheda 'Esegui codice', vedrai un elenco a discesa che contiene i nomi di tutte le tue azioni personalizzate. Seleziona il nome della tua azione personalizzata dall'elenco. Se la tua azione personalizzata richiede parametri, puoi specificarli nella sezione 'Parametri' della scheda 'Esegui codice'.

  C:\Utenti\utente01\Desktop\tempsnip121.png

Passaggio 9: fai in modo che il tuo bot esegua l'azione

Infine, aggiungi un'altra carta al nodo per fare in modo che il tuo bot esegua l'azione personalizzata. Puoi utilizzare le variabili salvate nell'evento (specificate nella scheda 'Esegui codice') per accedere ai risultati della tua azione personalizzata e includerli nella risposta del bot.

Esempio di azione personalizzata

Supponiamo che tu voglia che il tuo chatbot fornisca le informazioni meteorologiche attuali per una posizione specifica. Puoi creare un'azione personalizzata che richiama un'API meteo e restituisce i dati meteo.

const assi = richiedere ( 'axios' );

const getWeather = asincrono ( utente , sessione, argomenti) => {

posizione const = args.posizione || 'New York' ;

const APIKey = 'your_weather_api_key' ;

const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${posizione}`;

Tentativo {

const risposta = attendono axios.get(apiUrl);

const meteoData = risposta.data;

return `Il tempo attuale a ${location} è ${weatherData.current.condition.text} con una temperatura di ${weatherData.current.temp_c}°C.`;

} cattura (errore) {

ritorno «Mi spiace, potrei \' t recuperare le informazioni meteorologiche al momento. Per favore riprova più tardi.' ;

}

};

return getMeteo( utente , sessione, argomenti);

Questa azione accetta determinati argomenti tra cui l'utente, la sessione e gli argomenti che forniscono il contesto e i dati con cui l'azione può lavorare. In questo esempio, l'azione personalizzata 'getWeather' accetta la posizione come argomento o utilizza 'New York' per impostazione predefinita se non fornita. L'azione richiama l'API Weather utilizzando Axios, recupera i dati meteorologici e restituisce un messaggio che contiene le condizioni meteorologiche e la temperatura.

Vantaggi delle azioni personalizzate

Le azioni personalizzate in Botpress offrono numerosi vantaggi che migliorano le capacità e le funzionalità del tuo chatbot:

  1. Estendono la funzionalità del chatbot oltre le capacità integrate.
  2. Creano interazioni su misura per una migliore esperienza utente.
  3. Recuperano dati in tempo reale dalle API per risposte dinamiche.
  4. Si integrano con sistemi backend e database.
  5. Gestiscono scenari complessi con codice personalizzato.
  6. Riutilizzano le azioni tra chatbot e flussi.
  7. Implementano la gestione e la registrazione degli errori personalizzate.
  8. Ottimizzano le attività ad alta intensità di risorse.
  9. Sfruttano i servizi esterni per il ridimensionamento.
  10. Accedono e condividono le azioni personalizzate predefinite.

Conclusione

Le azioni personalizzate in Botpress estendono le funzionalità del chatbot, personalizzano le interazioni e integrano API esterne. Gli sviluppatori creano le funzioni JavaScript lato server e le richiamano da Botpress Flow Builder. Queste azioni offrono riusabilità del codice, prestazioni migliorate e scalabilità che rendono i chatbot strumenti più versatili e potenti. Sfruttare le azioni personalizzate in Botpress crea esperienze di chatbot innovative e coinvolgenti.