Настройка каналов#
Установка виджета чата на свой сайт#
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/'
Вступительное сообщение для конкретной страницы#
Вы также можете указать различные заставки/приветственные сообщения в зависимости от страницы, с которой начинается беседа. Например, если пользователь открывает бота на странице с ценами, вы можете задать вступление, отличное от главной страницы, в 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 следующее:
Формат тестовой истории#
Тестовые описания функциональности должны представлять собой последовательность пользовательских событий и речевых фрагментов бота в формате 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
), а роль не имеет ограничений. Роли можно назначать только пользователям.
Создание роли#
Чтобы создать новую роль, перейдите в меню Администрирование → Роли и нажмите кнопку Создать роль.
Дайте вашей роли имя, описание и выберите дочерние роли. Здесь мы создаем роль, которая имеет доступ ко всем ресурсам проекта, но не может редактировать настройки, имя и т. д. проекта.
Назначение ролей пользователям#
На странице пользователя:
- Нажмите
+
, чтобы создать задание. - Выберите проект (слева раскрывающийся список) и роль (справа раскрывающийся список). Обратите внимание, что вы можете предоставить одному пользователю доступ к нескольким проектам с разными ролями.
Встроенные роли#
Роль | Описание |
---|---|
project-admin | Может получать доступ и редактировать все ресурсы проекта. Расширяет projects:w , users:w |
global-admin | Может получать доступ и редактировать все ресурсы всех проектов, а также редактировать глобальные настройки. Расширяет все разрешения |
Чтобы предоставить кому-либо роль глобального администратора , вы должны выбрать GLOBAL в раскрывающемся списке проектов:
Встроенные разрешения:
Разрешение | Описание |
---|---|
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 | Можно добавлять, редактировать или удалять роли. |