Перейти к основному содержимому

Навыки CDQA

Бета

CDQA (Closed Domain Question Answering) — это вопросно-ответная система на основе машинного обучения. В нее загружается текстовый файл, фрагменты из которого бот может использовать при ответе на вопросы пользователей.

подсказка
Если вы хотите включить бета-версию CDQA, свяжитесь со своим аккаунт-менеджером или напишите нам на support@just-ai.com.

Чтобы начать работу с CDQA:

  1. Создайте CDQA в своем проекте.
  2. Подключите CDQA к сценарию.

Создание CDQA

  1. Перейдите в проект.

  2. На панели управления нажмите База знаний.

  3. Если в базе знаний уже есть модули, нажмите на панели вкладок Добавить модуль.

  4. Выберите CDQA и настройте модуль:

    • Введите название CDQA.
    • Выберите язык документа: русский и английский или другие языки.
    • Загрузите документ, из которого бот будет брать ответы.
    предупреждение
    Требования к файлу: файл TXT, кодировка UTF-8, размер до 1 Мбайт.
  5. Нажмите Добавить модуль.

Меню базы знаний после добавления CDQA

Подключение CDQA к сценарию

  1. Перейдите в меню базы знаний.
  2. Найдите модуль CDQA и нажмите напротив него → Скопировать код модуля.
  3. Нажмите РедакторКод на панели управления.
  4. Вставьте скопированный код в конец сценария. Он выглядит так:
state: NoMatch
event!: noMatch
script:
var result = $caila.cdqaQuery($request.query, "CDQA.Наши курсы", 0.5);
if (result.predicted) {
$reactions.answer(result.predicted);
} else {
$reactions.answer("Я не нашел ответ в своих документах. Пожалуйста, спросите что-нибудь другое.");
}

Это стейт, в который бот перейдет по событию noMatch — когда не сможет найти ответ на вопрос пользователя в модулях FAQ или среди других интентов CAILA. В этом стейте бот вызывает специальный метод $caila.cdqaQuery, чтобы получить ответ от CDQA.

подсказка
Стейт с event!: noMatch в сценарии должен быть только один. Если такой стейт уже существует, удалите или адаптируйте его код под вызов $caila.cdqaQuery.

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

state: FAQ.Education
intentGroup!: /KnowledgeBase/FAQ.Образование
script:
var result = $caila.cdqaQuery($request.query, "CDQA.Наши курсы", 0.5);
if (result.predicted) {
$reactions.answer(result.predicted);
} else {
$faq.pushReplies();
}