Razumijevanje radnji u Botpressu
Radnje u Botpressu su funkcije na strani poslužitelja koje bot izvršava tijekom tokova razgovora. Imaju moć mijenjanja stanja razgovora, slanja prilagođenih poruka, izvršavanja proizvoljnog koda (kao što je pozivanje API-ja ili pohranjivanje podataka) i više. U biti, radnje su redovite JavaScript funkcije što znači da mogu izvesti gotovo sve unutar ograničenja platforme.
Kada radnju pozove upravitelj dijaloga (DM), ona prima nekoliko argumenata koji daju kontekst funkciji. Ovi argumenti uključuju korisničke atribute, varijable sesije, privremene varijable, varijable na razini bota, posljednji korisnički događaj u razgovoru, proslijeđene argumente iz Visual Flow Buildera i vm u sandboxu koji sadrži neke varijable okruženja.
Registracija novih radnji
Da biste dodali prilagođene radnje bota, morate stvoriti JavaScript datoteku (.js) i smjestiti je u podaci/globalno/akcije mapu unutar vašeg Botpress projekta. Nažalost, ne postoji način za programsko dodavanje novih radnji tijekom izvođenja. Koristeći JavaDoc komentare u svom kodu, možete pružiti smislene informacije o radnjama kao što su njihov naziv, opis, argumenti i zadane vrijednosti. Također možete sakriti radnju u uređivaču toka dodavanjem oznake @hidden true u JavaDoc komentar.
Kako stvoriti prilagođene akcije u Botpressu
Evo nekoliko koraka koje možete slijediti kako biste izradili prilagođenu radnju u Botpressu:
Korak 1: Stvorite svoj bot i dodajte čvor
Za početak kreirajte novog bota u Botpressu. Nakon što je vaš bot stvoren, dodajte novi čvor u tijek razgovora.
Korak 2: Dodajte odgovarajuće poruke svom čvoru
U novostvorenom čvoru dodajte potrebne poruke kako biste olakšali razmjenu sadržaja s korisnicima. Na primjer, možete dodati tekstualnu poruku da pozdravite korisnika i pitate za njegovo ime.
Korak 3: Otvorite Izvrši kod na bočnoj traci
Idite na bočnu traku u Botpress Flow Builderu i otvorite 'Uređivač koda'. Ovo je mjesto gdje možete konstruirati i upravljati svojim prilagođenim radnjama.
Korak 4: Kliknite na gumb 'Dodaj radnju'.
U odjeljku 'Izvrši kod' kliknite na gumb 'Dodaj radnju'. Ova radnja otvara prozor 'Create a new action_legacy'.
Korak 5: Odredite naziv datoteke i kliknite na gumb Pošalji
U prozoru “Create a new action_legacy” dajte smisleno ime za svoju prilagođenu akcijsku datoteku; na primjer, customAction.js. Nakon što navedete ime, kliknite na gumb 'Pošalji'. Time se stvara datoteka 'customAction.js'.
Korak 6: Napišite svoj prilagođeni kod
Otvorite novostvorenu datoteku “customAction.js”. Unutar datoteke vidjet ćete šablonski kod koji je generiran za novu radnju. Navedite smislen opis za svoju prilagođenu radnju koristeći odgovarajuće komentare.
Sada napišite svoj prilagođeni kod unutar funkcije. Ovaj kod definira ponašanje vaše prilagođene radnje. Možete koristiti JavaScript za obavljanje raznih zadataka kao što su API pozivi, pristup bazama podataka ili rukovanje složenom logikom.
Korak 7: Izmijenite svoj čvor za korištenje prilagođene radnje
Vratite se na Botpress Flow Builder i promijenite čvor na kojem želite pokrenuti prilagođenu radnju. Dodajte karticu 'Izvrši kod' u čvor.
Korak 8: Odaberite svoj prilagođeni naziv radnje i navedite parametre radnje
Na kartici 'Izvrši kod' vidjet ćete padajući popis koji sadrži nazive svih vaših prilagođenih radnji. Odaberite naziv svoje prilagođene akcije s popisa. Ako vaša prilagođena radnja zahtijeva bilo kakve parametre, možete ih navesti u odjeljku 'Parametri' na kartici 'Izvrši kod'.
Korak 9: Neka vaš bot izvede radnju
Na kraju, dodajte još jednu karticu u čvor kako bi vaš bot izvršio prilagođenu radnju. Možete koristiti varijable koje su spremljene u događaju (navedene na kartici 'Izvrši kod') za pristup rezultatima vaše prilagođene radnje i uključiti ih u odgovor bota.
Primjer prilagođene radnje
Recimo da želite da vaš chatbot pruži informacije o trenutnoj vremenskoj prognozi za određenu lokaciju. Možete stvoriti prilagođenu akciju koja poziva vremenski API i vraća vremenske podatke.
const axios = zahtijevati ( 'axios' );const getWeather = async ( korisnik , sesija, argumenti) => {
const lokacija = args.lokacija || 'New York' ;
const apiKey = 'vaš_vremenski_api_ključ' ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${location}`;
pokušaj {
const odgovor = čekaj axios.get(apiUrl);
const weatherData = response.data;
return `Trenutno vrijeme u ${location} je ${weatherData.current.condition.text} s temperaturom od ${weatherData.current.temp_c}°C.`;
} catch (greška) {
povratak 'Oprosti, mogao bih \' t dohvaćanje informacija o vremenu u ovom trenutku. Molimo pokušajte ponovo kasnije.' ;
}
};
vrati getWeather( korisnik , sesija, argumenti);
Ova radnja uzima određene argumente uključujući korisnika, sesiju i argumente koji daju kontekst i podatke s kojima radnja radi. U ovom primjeru, prilagođena radnja 'getWeather' uzima lokaciju kao argument ili je zadana vrijednost 'New York' ako nije navedena. Radnja poziva Weather API koristeći Axios, dohvaća vremenske podatke i vraća poruku koja sadrži vremenske uvjete i temperaturu.
Prednosti prilagođenih radnji
Prilagođene radnje u Botpressu nude nekoliko prednosti koje poboljšavaju mogućnosti i funkcionalnost vašeg chatbota:
- Oni proširuju funkcionalnost chatbota izvan ugrađenih mogućnosti.
- Oni stvaraju prilagođene interakcije za bolje korisničko iskustvo.
- Oni dohvaćaju podatke u stvarnom vremenu iz API-ja za dinamičke odgovore.
- Integriraju se s pozadinskim sustavima i bazama podataka.
- Oni obrađuju zamršene scenarije s prilagođenim kodom.
- Ponovno koriste radnje u chatbotovima i tokovima.
- Implementiraju prilagođeno rukovanje pogreškama i bilježenje.
- Oni optimiziraju zadatke koji zahtijevaju velike resurse.
- Oni koriste vanjske usluge za skaliranje.
- Oni pristupaju i dijele unaprijed izrađene prilagođene akcije.
Zaključak
Prilagođene radnje u Botpressu proširuju mogućnosti chatbota, personaliziraju interakcije i integriraju vanjske API-je. Programeri stvaraju JavaScript funkcije na strani poslužitelja i pozivaju ih iz Botpress Flow Buildera. Ove radnje nude mogućnost ponovne upotrebe koda, poboljšane performanse i skalabilnost što chatbotove čini svestranijim i moćnijim alatima. Iskorištavanjem prilagođenih radnji u Botpressu stvaraju se inovativna i privlačna iskustva chatbota.