Перейти к содержанию

Настройка каналов#

Установка виджета чата на свой сайт#

Wisebot предоставляет многофункциональный виджет чата, который вы можете использовать на своем веб-сайте:

  • Текст, кнопки и быстрые ответы
  • Изображения
  • Карусели
  • Индикатор набора текста

Установите виджет чата на свой сайт. Он может быть установлен либо как компонент React, либо как простой фрагмент JavaScript.

Настройка канала#

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

Шаг 1: Перейдите в «Настройки -> Учетные данные».

Шаг 2: Если вы устанавливаете Wisebot на удаленном сервере, на общедоступный URL-адрес, по которому можно получить доступ к API Rasa.

rasa_addons.core.channels.webchat.WebchatInput:
  session_persistence: true
  base_url: 'https://your.rasa.host:5005'
  socket_path: '/socket.io/'

Image

Вступительное сообщение для конкретной страницы#

Вы также можете указать различные заставки/приветственные сообщения в зависимости от страницы, с которой начинается беседа. Например, если пользователь открывает бота на странице с ценами, вы можете задать вступление, отличное от главной страницы, в initPayload:

WebChat.default.init({
   ...
   initPayload: '/get_started_home',
   ...
})

WebChat.default.init({
   ...
   initPayload: '/get_started_pricing',
   ...
})

Все, что вам нужно сделать, это создать 2 разные истории. Вы можете использовать функцию Intro Stories, чтобы сгруппировать эти истории и легко протестировать их в Wisebot.

Реализация других каналов#

Использовать другие каналы на самом деле довольно просто. Все, что вам нужно сделать, это создать подкласс существующего канала и переопределить метод. Вот наглядный пример подкласса канала:

class MyRestInput(RestInput):
      def get_metadata(self, request: Request) -> Optional[Dict[Text, Any]]:
            language = ... # do something to retrieve the user current language
            return {'language': language}

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

Тестирование потока разговора#

Автоматизированное тестирование потока разговора в Rasa#

Wisebot обеспечивает автоматизированное тестирование потоков разговоров, чтобы обеспечить быструю проверку существующих ваших потоков.

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

Настройка канала#

Этот канал настраивается по умолчанию при локальном запуске Wisebot с помощью интерфейса командной строки.

Перейдите в Настройки -> Учетные данные. Добавьте в YAML следующее:

rasa_addons.core.channels.bot_regression_test.BotRegressionTestInput: {}

Image

Формат тестовой истории#

Тестовые описания функциональности должны представлять собой последовательность пользовательских событий и речевых фрагментов бота в формате YAML.

Каждое пользовательское событие должно иметь ключ user, который содержит сообщение, которое будет проанализировано Rasa. Вы можете обратиться к следующему примеру тестовой истории:

- user: /get_started
   entities: []
   intent: get_started

- action: utter_get_started

- user: good morning
   entities:
      - entity: timeOfDay
         value: morning
         start: 5
         end: 12
   intent: chitchat.greet

- action: utter_hi

Настройка ролей#

Роли и разрешения#

Роли в проекте Wisebot — это наборы прав и возможностей, которые предоставляются пользователям для выполнения определенных задач в системе. Они позволяют администраторам контролировать доступ к различным функциям и ресурсам проекта. Wisebot использует иерархическую систему разрешений. Внутри нет никакой разницы между ролью и разрешением, поскольку система основана на наследовании.

Разница заключается в соглашении об именах. Разрешение имеет синтаксис [resource]:[action] (например, nlu-data:x), а роль не имеет ограничений. Роли можно назначать только пользователям.

Создание роли#

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

Создание роли

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

Настройка роли

Назначение ролей пользователям#

На странице пользователя:

  1. Нажмите +, чтобы создать задание.
  2. Выберите проект (слева раскрывающийся список) и роль (справа раскрывающийся список). Обратите внимание, что вы можете предоставить одному пользователю доступ к нескольким проектам с разными ролями.

Назначение роли пользователю

Встроенные роли#

Роль Описание
project-admin Может получать доступ и редактировать все ресурсы проекта. Расширяет projects:w, users:w
global-admin Может получать доступ и редактировать все ресурсы всех проектов, а также редактировать глобальные настройки. Расширяет все разрешения

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

Image

Встроенные разрешения:

Разрешение Описание
nlu-data:r Может читать данные NLU.
nlu-data:w Может записывать данные NLU. Расширяется nlu-data:r.
nlu-data:x Можно обучить модель.
responses:r Может читать ответы ботов.
responses:w Может создавать, удалять и редактировать ответы ботов. Расширяется responses:r.
stories:r Может читать содержание истории. Расширяет nlu-data:r, responses:r.
stories:w Может создавать, удалять и редактировать истории. Расширяется stories:r.
triggers:r Может получить доступ к триггерам истории. Расширяет stories:r.
triggers:w Можно добавлять, редактировать или удалять триггеры истории. Расширяется triggers:r.
incoming:r Может читать входящие данные. Расширяется stories:r.
incoming:w Может обрабатывать входящие данные. Расширяет nlu-data:w, incoming:r.
analytics:r Может просматривать и загружать аналитические данные. Расширяется incoming:r.
analytics:w Может редактировать панели аналитики. Расширяется analytics:r.
projects:r Может читать все в проекте и получать доступ к настройкам проекта. Расширяет: incoming:r, triggers:r, stories:r, responses:r, nlu-data:r, analytics:r.
projects:w Может редактировать метаинформацию и настройки проекта. Расширяется projects:r. Если projectId ограничение не указано, это разрешение позволяет добавлять, редактировать и удалять проекты.
users:r Может получить доступ к информации о пользователе. Расширяет roles:r.
users:w Можно добавлять, редактировать или удалять данные и роли пользователей. Расширяется users:r.
global-settings:r Имеет доступ к глобальным настройкам.
global-settings:w Может редактировать глобальные настройки. Расширяется global-settings:r.
roles:r Может просматривать роли.
roles:w Можно добавлять, редактировать или удалять роли.