Udvikling af brugerdefinerede bot-handlinger i Botpress

Udvikling Af Brugerdefinerede Bot Handlinger I Botpress



Chatbots er blevet en grundlæggende del af moderne virksomheder, som gør dem i stand til at yde bedre kundesupport, automatisere processer og interagere med brugerne mere effektivt. Botpress er en populær open source chatbot-ramme, der tilbyder forskellige indbyggede handlinger. Men i nogle tilfælde skal du muligvis oprette brugerdefinerede bothandlinger for at opfylde specifikke krav og udvide botens muligheder. I denne tutorial vil vi guide dig gennem oprettelse af brugerdefinerede bot-handlinger i Botpress ved at fokusere på at kalde en API og bruge svaret i et indholdselement.

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.

  C:\Users\user01\Desktop\4124.PNG

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'.

  C:\Users\user01\Desktop\tempsnip.png

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.

  C:\Users\user01\Desktop\tempsnip121.png

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:

  1. De udvider chatbot-funktionaliteten ud over de indbyggede muligheder.
  2. De skaber skræddersyede interaktioner for en bedre brugeroplevelse.
  3. De henter realtidsdata fra API'er til dynamiske svar.
  4. De integreres med backend-systemer og databaser.
  5. De håndterer indviklede scenarier med tilpasset kode.
  6. De genbruger handlingerne på tværs af chatbots og flows.
  7. De implementerer den tilpassede fejlhåndtering og logning.
  8. De optimerer de ressourcekrævende opgaver.
  9. De udnytter de eksterne tjenester til skalering.
  10. 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.