Работа с переменными в Botpress: практический подход

Rabota S Peremennymi V Botpress Prakticeskij Podhod



Переменные используются для хранения данных, которые будут использоваться позже в работе вашего чат-бота. Одной из основных особенностей, отличающих Botpress от других инструментов разработки чат-ботов, является обширная поддержка переменных. Botpress предлагает восемь различных типов переменных данных. Помимо хранения, переменные позволяют разработчикам манипулировать данными и делать разговоры более динамичными и персонализированными. В этом блоге мы рассмотрим переменные в Botpress Studio, рассмотрев различные типы данных, области действия и практические методы их правильного использования.

Понимание типов данных для переменных

Прежде чем мы углубимся в практические аспекты использования переменных, давайте познакомимся с различными доступными типами данных в Botpress.







  1. Нить: Строки используются для хранения текста, который может состоять из букв, цифр или специальных символов. Они обычно используются для хранения имен пользователей или сообщений, сгенерированных ИИ.
  2. Логическое значение: Логические значения могут содержать только два значения — true или false. Они идеально подходят для хранения двоичной информации, например, является ли пользователь постоянным клиентом или хочет ли пользователь спросить что-то еще.
  3. Число: Как следует из названия, числовые переменные используются для хранения числовых значений, которые могут быть целыми числами или числами с десятичными знаками. Они полезны для хранения номеров телефонов, кодов городов и других числовых данных.
  4. Дата: Переменные даты используют формат даты и времени ISO 8601. Он представляет собой либо одну дату, либо дату и время.
  5. Объект: Объектная переменная представляет собой набор пар ключ-значение, похожих на словари или карты. Они полезны для хранения сложных структур данных, таких как профили пользователей или результаты вызова API.
  6. Множество: Массивы используются для хранения коллекций похожих переменных. Они могут хранить строки или объекты, что делает их универсальными для различных случаев использования, таких как хранение прошлых сообщений пользователя или предоставление пользователю возможностей выбора.
  7. Перечисление: Это переменная с ограниченным набором предопределенных вариантов. Они подходят для таких сценариев, как хранение дней недели или доступных блюд в меню еды.
  8. Шаблон: Переменные шаблона используют регулярные выражения (Regex) для хранения специальных шаблонов, которые можно использовать для сопоставления определенных слов или чисел. Они удобны для хранения номеров счетов или номеров рейсов.

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

В Botpress включены различные типы переменных, и они различаются в зависимости от того, где они могут быть доступны в потоке работы вашего чат-бота. Давайте рассмотрим различные области видимости переменных, начиная с самых ограниченных и заканчивая самыми широкими:



Переменные рабочего процесса

Эти переменные определяются и используются в рамках одного или того же рабочего процесса. Они отлично подходят для одноразовых потоков, таких как хранение результатов задач ИИ, ответов пользователей на вопросы или организация данных из вызовов API.



Для создания переменной рабочего процесса можно выполнить следующие шаги:





Шаг 1. Выберите соответствующий рабочий процесс в меню «Проводник».

Шаг 2. Двойной щелчок по пустой области в редакторе рабочего процесса открывает панель «Инспектор».



Шаг 3. Укажите имя переменной, выберите тип данных переменной и нажмите кнопку «Добавить», чтобы создать переменную.

Вы можете добавить значение по умолчанию (начальное) к вашей переменной из раздела «Дополнительные настройки».

Входные и выходные переменные рабочего процесса

Для обмена информацией рабочие процессы могут иметь входные и выходные переменные. Входные данные используются для получения информации из внешних источников или других рабочих процессов, а выходные данные предоставляют информацию внешним источникам или другим рабочим процессам. Это позволяет обеспечить более гибкое общение и обмен данными внутри бота.

Для маркировки входной переменной можно выполнить следующие шаги:

Шаг 1. Создайте переменную внутри рабочего процесса.

Шаг 2. Выберите переменную, щелкнув узел входа рабочего процесса на панели «Инспектор».

Для маркировки выходной переменной можно выполнить следующие шаги:

Шаг 1. Создайте переменную внутри рабочего процесса.

Шаг 2. Выберите переменную, щелкнув узел выхода рабочего процесса на панели «Инспектор».

Переменные сеанса

Все потоки могут получить доступ к этим переменным, но только для одного диалога. Они идеально подходят для хранения данных, используемых в ходе разговора, таких как история чата, собранные элементы в виртуальной корзине покупок или временные данные из вызовов API.

Чтобы создать переменную сеанса, вы можете написать следующий код:

сеанс.имяпеременной = 'Привет ребята!' ;

Чтобы использовать переменную в текстовой карточке, нам нужно заключить ее в фигурные скобки, например: {{session.variablename}} .

Пользовательские переменные

Пользовательские переменные следуют за пользователем между разговорами, что позволяет данным сохраняться при нескольких взаимодействиях с чат-ботом. Они идеально подходят для хранения информации, которая остается актуальной для пользователя с течением времени, например, личных данных, тегов из прошлых разговоров или языковых предпочтений.

Чтобы создать пользовательскую переменную:

Шаг 1. Откройте «Настройки чат-бота» с помощью значка Botpress, расположенного в левом верхнем углу.

Шаг 2. На вкладках выберите «Переменные».

Шаг 3. Определите пользовательскую переменную, присвоив ей имя и указав тип данных.

Для ссылки на переменную «Пользователь» в текстовой карточке можно использовать либо @user.variablename, либо {{user.variablename}}.

Переменные бота

Все пользователи чат-бота имеют доступ к этим переменным во всех разговорах. Они часто используются для хранения информации и конфигурации разработчика, например хранения конечных точек для вызовов API, номера версии бота или его имени.

Выполните следующие шаги для создания переменной бота:

Шаг 1. Выберите «Настройки чат-бота», щелкнув значок Botpress в верхнем левом углу.

Шаг 2. На вкладках выберите «Переменные».

Шаг 3. Укажите имя и тип данных переменной бота.

Как и пользовательские переменные, @bot.variablename или bot.variablename можно использовать для ссылки на переменные бота в карточках.

Переменные конфигурации

Это особый тип безопасной переменной бота. Вы можете управлять ими из облачной панели управления, и нет необходимости открывать бота. Переменные конфигурации идеально подходят для хранения конфиденциальной информации, такой как токены API, частные IP-адреса или учетные данные базы данных.

Чтобы создать переменную конфигурации:

Шаг 1. Откройте «Настройки чат-бота» с помощью значка Botpress, расположенного в левом верхнем углу.

Шаг 2. Нажмите на вкладку «Переменные».

Шаг 3. Добавьте переменную конфигурации и укажите ее имя и значение.

Чтобы получить доступ к переменным конфигурации в коде, вы можете использовать «env.key», где «ключ» представляет собой имя переменной конфигурации, которую нужно получить.

Использование переменных в коде

Фигурные скобки «{{ }}» или символ @ не обязательны при использовании переменных в коде. Синтаксис доступа к переменным в коде соответствует шаблону «типпеременной.имяпеременной». Например:

Код:

  • рабочий процесс.phoneNumber
  • session.userAcctId
  • user.firstName
  • bot.endpoint
  • env.apiKey

Переменным можно присваивать значения или обновлять их в коде. Но очень важно убедиться, что присвоенное значение соответствует типу данных переменной, чтобы избежать ошибок.

Заключение

Переменные являются строительными блоками динамического и персонализированного взаимодействия в Botpress. Используя различные типы данных и понимая область действия переменных, разработчики могут создавать чат-ботов с мощными возможностями. Независимо от того, нужно ли вам хранить информацию о пользователе, подключаться к API или передавать данные между рабочими процессами и переменными, в Botpress обеспечивается необходимая гибкость и контроль.