Forstå handlinger i Botpress
Handlinger i Botpress er funktioner på serversiden, som udføres af botten under samtaleforløb. De har magten til at ændre samtalens tilstand, sende tilpassede beskeder, udføre vilkårlig kode (såsom at kalde API'erne eller gemme dataene) og mere. Grundlæggende er handlinger almindelige JavaScript-funktioner, hvilket betyder, at de kan udføre næsten alt inden for platformens begrænsninger.
Når en handling påkaldes af Dialog Manager (DM), modtager den flere argumenter, der giver kontekst til funktionen. Disse argumenter inkluderer brugerattributter, sessionsvariabler, midlertidige variabler, variabler på bot-niveau, den seneste brugerhændelse i samtalen, beståede argumenter fra Visual Flow Builder og en sandboxed vm, der indeholder nogle miljøvariabler.
Registrering af nye handlinger
For at tilføje de tilpassede bothandlinger skal du oprette en JavaScript-fil (.js) og placere den i data/global/handlinger mappe i dit Botpress-projekt. Desværre er der ingen mulighed for programmæssigt at tilføje nye handlinger under kørsel. Ved at bruge JavaDoc-kommentarerne i din kode kan du give meningsfuld information om handlingerne, såsom deres navn, beskrivelse, argumenter og standardværdier. Du kan også skjule en handling i floweditoren ved at tilføje @hidden true flaget i JavaDoc-kommentaren.
Sådan opretter du brugerdefinerede handlinger i Botpress
Her er et par trin, du kan følge for at oprette en brugerdefineret handling i Botpress:
Trin 1: Opret din bot og tilføj en node
For at komme i gang skal du oprette en ny bot i Botpress. Når din bot er oprettet, skal du tilføje en ny node til samtaleforløbet.
Trin 2: Tilføj passende beskeder til din node
Tilføj de nødvendige beskeder i den nyoprettede node for at lette indholdsudvekslingen med brugerne. For eksempel kan du tilføje en tekstbesked for at hilse på brugeren og bede om deres navn.
Trin 3: Åbn udfør koden fra sidebjælken
Naviger til sidebjælken i Botpress Flow Builder, og åbn 'Code editor'. Det er her, du kan konstruere og administrere dine tilpassede handlinger.
Trin 4: Klik på knappen 'Tilføj handling'.
I afsnittet 'Udfør kode' skal du klikke på knappen 'Tilføj handling'. Denne handling åbner vinduet 'Create a new action_legacy'.
Trin 5: Angiv et navn til filen, og klik på knappen Send
I vinduet 'Create a new action_legacy' skal du give et meningsfuldt navn til din tilpassede handlingsfil; f.eks. customAction.js. Når du har angivet navnet, skal du klikke på knappen 'Send'. Dette opretter filen 'customAction.js'.
Trin 6: Skriv din brugerdefinerede kode
Åbn den nyoprettede 'customAction.js' fil. Inde i filen vil du se kedelkoden, der er genereret til en ny handling. Giv en meningsfuld beskrivelse af din tilpassede handling ved hjælp af de relevante kommentarer.
Skriv nu din brugerdefinerede kode i funktionen. Denne kode definerer adfærden for din tilpassede handling. Du kan bruge JavaScript til at udføre forskellige opgaver såsom at foretage API-kald, få adgang til databaserne eller håndtere kompleks logik.
Trin 7: Rediger din node for at bruge den tilpassede handling
Gå tilbage til Botpress Flow Builder og modificer den node, hvor du vil udløse din tilpassede handling. Tilføj et 'Execute Code'-kort til noden.
Trin 8: Vælg dit brugerdefinerede handlingsnavn, og angiv handlingsparametrene
På kortet 'Udfør kode' vil du se en rulleliste, der indeholder navnene på alle dine tilpassede handlinger. Vælg navnet på din tilpassede handling fra listen. Hvis din tilpassede handling kræver nogen parametre, kan du angive dem i 'Parameters'-sektionen på 'Execute Code'-kortet.
Trin 9: Få din bot til at udføre handlingen
Tilføj endelig endnu et kort til noden for at få din bot til at udføre den tilpassede handling. Du kan bruge de variabler, der er gemt i hændelsen (angivet på kortet 'Udfør kode') til at få adgang til resultaterne af din tilpassede handling og inkludere dem i botens svar.
Eksempel på tilpasset handling
Lad os sige, at du vil have din chatbot til at give de aktuelle vejroplysninger for en bestemt placering. Du kan oprette en brugerdefineret handling, der kalder en vejr-API og returnerer vejrdataene.
const axios = kræve ( 'aksios' );const getWeather = asynkron ( bruger , session, args) => {
const placering = args.placering || 'New York' ;
const apiKey = 'din_vejr_api_nøgle' ;
const apiUrl = `https://api.weatherapi.com/v1/current.json?key=${apiKey}&q=${placering}`;
prøve {
const respons = afvent axios.get(apiUrl);
const vejrData = respons.data;
return `Det aktuelle vejr i ${location} er ${weatherData.current.condition.text} med en temperatur på ${weatherData.current.temp_c}°C.`;
} fange (fejl) {
Vend tilbage 'Undskyld, jeg kunne \' ikke hente vejrinformationen i øjeblikket. Prøv igen senere.' ;
}
};
returner getWeather( bruger , session, args);
Denne handling tager visse argumenter, herunder brugeren, sessionen og args, som giver konteksten og dataene for handlingen at arbejde med. I dette eksempel tager den tilpassede handling 'getWeather' placeringen som et argument eller er standard til 'New York', hvis den ikke er angivet. Handlingen kalder Weather API ved hjælp af Axios, henter vejrdataene og returnerer en meddelelse, der indeholder vejrforhold og temperatur.
Fordele ved Custom Actions
Tilpassede handlinger i Botpress tilbyder flere fordele, der forbedrer din chatbots muligheder og funktionalitet:
- De udvider chatbot-funktionaliteten ud over de indbyggede muligheder.
- De skaber skræddersyede interaktioner for en bedre brugeroplevelse.
- De henter realtidsdata fra API'er til dynamiske svar.
- De integreres med backend-systemer og databaser.
- De håndterer indviklede scenarier med tilpasset kode.
- De genbruger handlingerne på tværs af chatbots og flows.
- De implementerer den tilpassede fejlhåndtering og logning.
- De optimerer de ressourcekrævende opgaver.
- De udnytter de eksterne tjenester til skalering.
- De får adgang til og deler de forudbyggede brugerdefinerede handlinger.
Konklusion
Tilpassede handlinger i Botpress udvider chatbot-mulighederne, personaliserer interaktioner og integrerer eksterne API'er. Udviklere opretter JavaScript-funktionerne på serversiden og kalder dem fra Botpress Flow Builder. Disse handlinger tilbyder kodegenanvendelighed, forbedret ydeevne og skalerbarhed, som gør chatbots mere alsidige og kraftfulde værktøjer. Udnyttelse af de tilpassede handlinger i Botpress skaber innovative og engagerende chatbot-oplevelser.