Разработване на персонализирани бот действия в Botpress

Razrabotvane Na Personalizirani Bot Dejstvia V Botpress



Чатботовете се превърнаха в основна част от съвременния бизнес, което им позволява да предоставят по-добра поддръжка на клиенти, да автоматизират процесите и да се ангажират с потребителите по-ефективно. Botpress е популярна рамка за чатбот с отворен код, която предлага различни вградени действия. В някои случаи обаче може да се наложи да създадете персонализирани действия на бота, за да отговаряте на конкретни изисквания и да разширите възможностите на бота. В този урок ще ви преведем през създаването на персонализирани действия на бот в Botpress, като се фокусираме върху извикване на API и използване на отговора в елемент на съдържание.

Разбиране на действията в Botpress

Действията в Botpress са функции от страна на сървъра, които се изпълняват от бота по време на разговорни потоци. Те имат властта да променят състоянието на разговора, да изпращат персонализирани съобщения, да изпълняват произволен код (като извикване на API или съхраняване на данните) и др. По същество действията са обикновени функции на JavaScript, което означава, че могат да изпълняват почти всичко в рамките на ограниченията на платформата.

Когато дадено действие се извика от Dialogue Manager (DM), то получава няколко аргумента, които предоставят контекст на функцията. Тези аргументи включват потребителските атрибути, променливите на сесията, временните променливи, променливите на ниво бот, последното потребителско събитие в разговора, предадените аргументи от Visual Flow Builder и виртуална машина в пясъчна среда, която съдържа някои променливи на средата.







Регистриране на нови действия

За да добавите персонализираните действия на бота, трябва да създадете JavaScript файл (.js) и да го поставите в данни/глобални/действия папка във вашия проект Botpress. За съжаление, няма начин за програмно добавяне на нови действия по време на изпълнение. Използвайки коментарите на JavaDoc във вашия код, можете да предоставите значима информация за действията, като тяхното име, описание, аргументи и стойности по подразбиране. Можете също да скриете действие в редактора на потока, като добавите флага @hidden true в коментара на JavaDoc.



Как да създадете персонализирани действия в Botpress

Ето няколко стъпки, които можете да следвате, за да създадете персонализирано действие в Botpress:



Стъпка 1: Създайте своя бот и добавете възел

За да започнете, създайте нов бот в Botpress. След като вашият бот е създаден, добавете нов възел към потока на разговора.





Стъпка 2: Добавете подходящи съобщения към вашия възел

В новосъздадения възел добавете необходимите съобщения, за да улесните обмена на съдържание с потребителите. Например, можете да добавите текстово съобщение, за да поздравите потребителя и да поискате неговото име.



Стъпка 3: Отворете кода за изпълнение от страничната лента

Отидете до страничната лента в Botpress Flow Builder и отворете „Редактор на код“. Това е мястото, където можете да конструирате и администрирате своите персонализирани действия.

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

Стъпка 4: Кликнете върху бутона „Добавяне на действие“.

В секцията „Изпълнение на код“ щракнете върху бутона „Добавяне на действие“. Това действие отваря прозореца „Създаване на нов action_legacy“.

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

Стъпка 5: Посочете име за файла и щракнете върху бутона за изпращане

В прозореца „Създаване на нов action_legacy“ дайте смислено име за вашия персонализиран файл с действия; например customAction.js. След като посочите името, щракнете върху бутона „Изпращане“. Това създава файла „customAction.js“.

Стъпка 6: Напишете вашия персонализиран код

Отворете новосъздадения файл „customAction.js“. Във файла ще видите шаблонния код, който е генериран за ново действие. Осигурете смислено описание за вашето персонализирано действие, като използвате подходящите коментари.

Сега напишете вашия персонализиран код във функцията. Този код дефинира поведението на вашето персонализирано действие. Можете да използвате JavaScript за изпълнение на различни задачи, като например извикване на API, достъп до базите данни или работа със сложна логика.

Стъпка 7: Променете вашия възел, за да използвате персонализираното действие

Върнете се в Botpress Flow Builder и променете възела, където искате да задействате вашето персонализирано действие. Добавете карта „Изпълни код“ към възела.

Стъпка 8: Изберете името на персонализираното действие и задайте параметрите на действието

В картата „Изпълнение на код“ ще видите падащ списък, който съдържа имената на всички ваши персонализирани действия. Изберете името на вашето персонализирано действие от списъка. Ако вашето персонализирано действие изисква някакви параметри, можете да ги посочите в секцията „Параметри“ на картата „Изпълнение на код“.

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

Стъпка 9: Накарайте своя бот да извърши действието

Накрая добавете друга карта към възела, за да накарате вашия бот да извърши персонализираното действие. Можете да използвате променливите, които са запазени в събитието (посочени в картата „Изпълнение на код“), за да получите достъп до резултатите от вашето персонализирано действие и да ги включите в отговора на бота.

Примерно персонализирано действие

Да приемем, че искате вашият чатбот да предостави текущата информация за времето за определено местоположение. Можете да създадете персонализирано действие, което извиква API за времето и връща данните за времето.

const axios = изискват ( 'аксиос' );

const getWeather = async ( потребител , сесия, аргументи) => {

const местоположение = args.location || 'Ню Йорк' ;

const apiKey = 'your_weather_api_key' ;

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

опитвам {

const отговор = изчакайте axios.get(apiUrl);

const weatherData = response.data;

return `Текущото време в ${location} е ${weatherData.current.condition.text} с температура ${weatherData.current.temp_c}°C.`;

} улов (грешка) {

връщане — Съжалявам, можех \' t извличане на информация за времето в момента. Моля, опитайте отново по-късно.' ;

}

};

върне getWeather( потребител , сесия, аргументи);

Това действие приема определени аргументи, включително потребителя, сесията и аргументите, които предоставят контекста и данните, с които да работи действието. В този пример персонализираното действие „getWeather“ приема местоположението като аргумент или по подразбиране е „Ню Йорк“, ако не е предоставено. Действието извиква Weather API с помощта на Axios, извлича данните за времето и връща съобщение, което съдържа метеорологичните условия и температурата.

Предимства на персонализираните действия

Персонализираните действия в Botpress предлагат няколко предимства, които подобряват възможностите и функционалността на вашия чатбот:

  1. Те разширяват функционалността на chatbot отвъд вградените възможности.
  2. Те създават персонализирани взаимодействия за по-добро потребителско изживяване.
  3. Те извличат данни в реално време от API за динамични отговори.
  4. Те се интегрират с бекенд системи и бази данни.
  5. Те обработват сложни сценарии с персонализиран код.
  6. Те използват повторно действията в чатботове и потоци.
  7. Те прилагат персонализираната обработка и регистриране на грешки.
  8. Те оптимизират ресурсоемките задачи.
  9. Те използват външните услуги за мащабиране.
  10. Те имат достъп и споделят предварително изградените персонализирани действия.

Заключение

Персонализираните действия в Botpress разширяват възможностите на chatbot, персонализират взаимодействията и интегрират външни API. Разработчиците създават JavaScript функциите от страна на сървъра и ги извикват от Botpress Flow Builder. Тези действия предлагат повторно използване на кода, подобрена производителност и мащабируемост, което прави чатботовете по-гъвкави и мощни инструменти. Използването на персонализираните действия в Botpress създава новаторски и ангажиращи изживявания с чатбот.