Требования для успешного обучения Агента
Last updated
Last updated
Чтобы с Агентом можно было пообщаться, после того как его Сценарий агента полностью собран, его необходимо обучить. Для успешного Обучение Агент должен соответствовать требованиям, описанным в этой статье. С помощью этой статьи вы также сможете исправить ошибки, если они будут выявлены в процессе Обучение Агента.
Валидация сценария — это проверка при Обучение Агента на то, что все требования системы к Агенту удовлетворены.
Обучить Агента можно двумя способами:
Нажать кнопку Train, расположенную в правом верхнем углу БотБилдера во вкладке Agent Designer.
Нажать кнопку на карточке Агента.
По нажатию кнопки Train происходит:
Непосредственно Валидация сценария. Процесс Валидация сценария может занять некоторое время, до 10 минут на больших Агентах.
При успешном прохождении Валидация сценария создается Обученная модель агента на основе валидного Сценарий агента.
В это время кнопка Train будет неактивна. Если Сценарий агента не соответствует требованиям, то Валидация сценария завершится неудачно и в правом нижнем углу появится текст ошибки.
Важно: Если данный Сценарий агента ранее уже обучался, а после внесения изменений Валидация сценария завершилась неудачно, то работать будет старая Обученная модель агента.
Для того, чтобы Валидация сценария была пройдена успешно, Сценарий агента должен удовлетворять правилам:
В Сценарий агента не должно быть Ветка сценария без Блокирующий слот;
Ветка сценария после Слотов Timer и Incoming Request должны быть закрыты;
В Обучающая выборка Интента должно быть минимум две строки;
Обучающая фраза Интента должна содержать не меньше одной буквы;
Название Пользовательские контекстные переменные должно соответствовать требованиям к названию Пользовательских контекстных переменных.
Содержимое Подслота result Слота Regular Expression должно соответствовать его синтаксису.
Выражение в Подслоте condition Слота Transition Rule должно соответствовать его синтаксису.
В Слотах Incoming Request, Slot Filling, Memory, External Request не происходит попытка перезаписи Системная контекстная переменная, запрещенных для перезаписи.
В Слоте Notification используется существующий Канал Проекта.
Отсутствуют вложенные циклы Слота Repeat.
Блокирующий слот — Слот, по которому Агент встает в ожидание входящего сообщения из Канал Проекта.
Сообщение собеседника
Нажатие кнопки button.
В каждой Ветка сценария должен присутствовать хотя бы один Блокирующий слот, иначе при наличии Ветка сценария без Блокирующий слота Агент может войти в постоянную непрерывную работу (бесконечное количество раз будет проходить по всем слотам из Ветка сценария).Список Блокирующий слотов:
Wait For Reaction;
Button Menu;
Change Chat Mode;
Incoming Request.
Если в Ветка сценария не будет ни одного Блокирующий слота из списка, то при Обучение Агента появится следующая ошибка:
Важно: Блокирующий слот не обязан находиться в конце Ветка сценария. Он может присутствовать в любом месте Ветка сценария.
Уведомление ошибки будет содержать текст:
Где *Slot ID* -> *Slot ID* — это путь от Слота Start до Слота, которым заканчивается невалидная Ветка сценария.
Подсветка ветки
Отсутствие блокирующих слотов в ветках сценария.
Подсвечивается вся ветка сценария, в которой не хватает блокирующего слота. При добавлении слота в проблемную ветку новый слот в дереве затемняется и никак не выделен цветом.
Blocking slot types (Button menu, Change chat mode, Incoming request, Wait for reaction) were not found in the branch: *Slot ID* -> *Slot ID*” What to do: add blocking slots to the branch.
На конце Ветка сценария не могут находиться следующие слоты:
Timer;
Incoming Request.
Данные Слоты определяют начало одного из сценариев Агента, соответственно, после них обязательно должны быть добавлены какие-либо Слоты.Если в Сценарий агента в конце Ветка сценария будет находиться один из перечисленных слотов, то при Обучение Агента появится следующая ошибка:
Уведомление ошибки будет содержит текст: “Slot with invalid children found: *Slot ID*...“Где *Slot ID* — ID Слота, после которого необходимо продолжить Сценарий агента.
Подсветка слота с последующей кнопкой добавления нового слота
Незакрытые ветки сценария.
Подсвечивается слот, после которого необходимо продолжить сценарий, кнопка добавления слота и соединительная линия между ними.
Slot of this type can’t be the last one in the branch. What to do: add subsequent branch or at least any of these slots: Wait for reaction, Change chat mode, Jump.
Обучающая выборка для успешного распознавания следует наполнять по правилам, описанным в статье Распознавание естественного языка.В Обучающая выборка Интента должно быть минимум две строки. Если в Обучающая выборка будет всего одна строка, при Обучение Агента появится ошибка.
Уведомление ошибки будет содержит текст: “NLU slots or Intents has errors:The number of train examples of intent "intent" is not enough, it should be at least 2.”Где в кавычках уточняется имя проблемного Интента.
Подсветка слота
Недостаточное количество фраз в обучающей выборке
Подсвечивается проблемный под-слот intent с недостаточным количеством фраз в обучающей выборке.
The number of requests of the intent ‘название интента’ is not enough, it should be at least 2. What to do: add some requests to the intent.
Подсветка слота
Недостаточное количество букв во фразе обучающей выборки
Подсвечивается проблемный под-слот intent с недостаточным количеством букв во фразе обучающей выборки.
The number of letters in the request "..." of this intent is not enough, it should be at least 1. What to do: edit the request so that it contains at least 1 letter.
Текст ошибки:
Подсветка слота
Неэкранированные символы в подслоте result слота Regular Expression
Подсвечивается проблемный под-слот result с неэкранированными символами ‘ или \.
‘ and \ characters in result subslots must be escaped with a \ character. What to do: escape ‘ and \ characters with a \ character.
Следующие Системная контекстная переменная и Канальные переменные недоступны для перезаписи:
channel_visitor_id
ID собеседника\чата в Конечный канал
Невозможно
channel_conversation_id
ID диалога\чата в Конечный канал
Невозможно
channel_visitor_firstname
Имя собеседника в Конечный канал
Невозможно
channel_visitor_lastname
Фамиия собеседника в Конечный канал
Невозможно
channel_visitor_account
Аккаунт собеседника в Конечный канал
Невозможно
channel_visitor_phone
Телефон собеседника в Конечный канал
Невозможно
channel_visitor_email
Емейл собеседника в Конечный канал
Невозможно
channel_visitor_source
источник, откуда пришел Собеседник в Конечный канал (например utm метки)
Невозможно
channel_visitor_auth
Данный авторизации Собеседника
Невозможно
channel_visitor_location
Невозможно
channel_message_id
id сообщения в Chat2Desk
Невозможно
channel_message_recipient
Бот в Chat2Desk является оператором, в эту переменную записывается его id
Невозможно
channel_webhook_url
Channel webhook URL из настроек Канал Проекта
Невозможно
channel_webhook_token
Channel webhook Token из настроек Канал Проекта
Невозможно
channel_reply_to
сообщение, на которое был совершен ответ (reply) в Telegram
Невозможно
agent_id
Уникальный идентификатор Агента в Платформа
Невозможно
chat_id
Уникальный идентификатор Чата в Платформа
Невозможно
channel_chat_id
идентификатор Собеседника в Конечный канал - синтетическая переменная, правила ее формирования задаются в настройках Коннектора к данному каналу
Невозможно
channel_id
Уникальный идентификатор объекта платформы Канал Проекта.
Невозможно
date
Время получения последнего сообщения от Собеседник = время получения последнего значения client_message, но именно из Канал Проекта (а не в слоте Memory)
Невозможно
dialog_id
Идентификатор диалога
Невозможно
modified_at
Время последней модификации Контекст Чата
Невозможно
slot_id
Уникальный для платформы идентификатор последнего "выполненного" Слота в Сценарий агента
Невозможно
strategy_modified_at
Время создания Обученная модель агента (время последнего переобучения)
Невозможно
confidence
Процент уверенности модели NLU при распознавании Реплика Интентом
Невозможно
error
Текст ошибки, полученный в результате выполнения слотов NLU/ Regular Expression / Memory
Невозможно
incoming_request_id
Уникальный для платформы идентификатор (токен) Входящий запрос
Невозможно
intent
Уникальный для платформы идентификатор распознанного Интента
Невозможно
IR_url
Адрес активного вебхука Входящий запрос (слот Incoming Request) в данной Обученная модель агента
Невозможно
notification_count
Счетчик рассылок в конкретном Чате
Невозможно
notification_task_id
Принимает значение равное Идентификатор задачи на рассылку,который система отправила в ответе (response) на Запрос на рассылку от внешней системе
Невозможно
notification_init_time
Датавремя начала выполнения Слота Notification по UTC
Невозможно
notification_message_id
Когда рассылка отправляется, Конечный канал возвращает id сообщения
Невозможно
notification_id
id рассылки, на данный момент = id Слота Notification
Невозможно
notification_status
Технический статус рассылкиВозможные значения: ‘no_account’, ‘failed’, ‘sent’, ‘delivered’, ‘read’
Невозможно
platform_chat_id
"Промежуточная версия” идентификатора Чата, предназначенная для сопоставления старых идентификаторов чатов с новыми идентификаторами
Невозможно
chat_language
В переменной хранится распознанный язык
Невозможно
channel_raw_response
json-объект, запрос, который отправляет Конечный канал в ответ на перевод на оператора/группу операторов
Невозможно
repeat_index
переменная используется для отражения номера текущей итерации цикла, нумерация итераций начинается с 0
Невозможно
email_status
Результ отправки письма
Невозможно
При попытке их перезаписи Слотах Incoming Request, Slot Filling, Memory, External Request при Обучение Агента появится следующая ошибка:
Текст ошибки: “Attempt to rewrite protected variables: “channel_visitor_account” is a system variable that cannot be overwritten in following slot types: Incoming Request, Slot Filling, Memory, External Request, Synonym, Notificaion."
Подсветка слота
Попытка перезаписи системных контекстных переменных, запрещенных для перезаписи
Подсвечивается проблемный слот Incoming Request, Slot Filling, Memory, External Request, Synonym.
“var” is a system variable that cannot be overwritten in following slot types: Incoming Request, Slot Filling, Memory, External Request, Synonym. What to do: remove the “var” variable from the slot. Для случаев, если несколько системных переменных попытались перезаписать, отображать их в одном уведомлении через запятую, пример:
“var1”, “var2”, “var3” are system variables that cannot be overwritten in following slot types: Incoming Request, Slot Filling, Memory, External Request, Synonym. What to do: remove the “var1”, “var2”, “var3” variables from the slot.
Формат текста предупреждения:
Пример:
Расшифровка ошибки: в Слоте 8848840 обнаружена ошибка — лишний символ '@' с порядковым номером 3 в выражении {{ @foo }}.
Важно: отсчет порядковых номеров символов в проблемном выражении начинается с 0.
Подсветка слота
Некорректное написание шаблонов в новом синтаксисе
Подсвечивается слот с некорректно составленным выражением или управляющей конструкцией
Error “<описание ошибки>” in expression “<проблемное выражение>” What to do: edit the expression. New syntax documentation: https://docs.chatme.ai/perekhod-na-novyi-sintaksis#vyrazheniya
Если ранее в Слоте Notification был выбран и затем удален Канал Проекта, при Обучение Агента появится следующая ошибка:
Текст ошибки: Notification slots with invalid channel settings found: <id Слота>
Подсветка слота
В слоте Notification использован удаленный канал
Подсвечивается проблемный слот Notification
A non-existing channel is set in the destination field (the channel might be deleted). What to do: choose an existing channel.
Текст ошибки:Filling slots with invalid fields found: <slot_id>.
Подсветка слота
Некорректное имя пользовательской переменной
Подсвечивается проблемный слот, содержащий переменную
Wrong name. The name must be no more than 128 characters and may contain only latin letters, numbers and _ . What to do: edit the name.
Если в Ветка сценария Подслота Repeat Next присутствуют другие Слоты Repeat, будет выведена ошибка:
Текст ошибки:One or more Repeat slots have errors.
Подсветка слота
Вложенные циклы слота Repeat
Подсвечивается проблемный слот Repeat
Nested repeats are not allowed . What to do: delete nested slot Repeat.
Одна Обучающая фраза Интента не может содержать меньше одной буквы.Если Обучающая фраза Интента не содержит в себе хотя бы один буквенный символ, то при Обучение Агента появится следующая ошибка:
Символы ‘ и \ в Подслоте result Слота Regular Expression должны быть экранированы: им должен предшествовать символ \.Если отсутствует экранирование символа \ в Подслоте result Слота Regular Expression при Обучение Агента появится следующая ошибка:
Правила написания Шаблонов описаны в статье Синтаксис. Если Шаблон в новом синтаксисе был прописан некорректно, при Обучение Агента появится следующая ошибка:
Если в Слоте Memory, Slot Filling, Incoming Request, Synonym или Notification либо в Внешний запрос указана Пользовательские контекстные переменные, название которой не соответствует требованиям, при Обучение Агента появится следующая ошибка: