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

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

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

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 будет использовать язык по умолчанию, определенный в настройках вашего проекта.

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

Автоматизированное тестирование потока разговора в 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 Можно добавлять, редактировать или удалять роли.