Подключение нескольких интеграций

При использовании Dialogflow с контекстами, возникла необходимость в создании ботов с использованием нескольких агентов Dialogflow, для этого есть возможность настраивать несколько интеграций.

Введение

Одновременное использование нескольких предварительно обученных нейронных сетей будет полезно для тех кому необходимо:

  1. иметь в одном боте несколько баз знаний по разным продуктам, сервисам или проблематикам;

  2. иметь в одном внешнем боте несколько различных ботов с поддержкой естественного языка (NLP);

  3. иметь поддержку нескольких языков.

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

Настройка нескольких интеграций

Подключение нескольких интеграций Dialogflow производится в разделе главного меню Настройки бота в подразделе Интеграции.

В сервисе Dialogflow должно быть создано несколько Агентов, минимум 2 и настроены Учетные данные в разделе API & Services в подразделе Credentials, подробнее см. Интеграция с Dialogflow.

Далее необходимо создать интеграции с указанием следующих параметров:

  • Опция Включена - активность опции определяет активность интеграции;

  • Интеграционная система - Dialogflow (nlp);

  • Название - название интеграции, уникальность контролируется в пределах бота;

  • Код - дополнительный идентификатор. Используется для поиска интеграции, например, в JavaScript функциях;

  • Авторизационный ключ (json) - закрытый ключ, который предоставляет сервис Dialogflow.

В списке Интеграции с ботом, интеграция по умолчанию отмечена серым цветом под ID интеграции. Надпись NLP интеграция по умолчанию обновляется только после обновления страницы, поэтому после смены сортировки интеграций необходимо обновить страницу.

Изменить интеграцию по умолчанию можно переместив ее в начало списка, воспользовавшись функциональной кнопкой Перетащите для изменения порядка в блоке Операции.

На платформе имеются методы JavaScript для проверки текущей и активности интеграции:

bot.getIntegrationIdByCode - Текущий ID NLP интеграции, полученный по коду
bot.getEnabledIntegrationIdByCode - Текущий ID активной NLP интеграции, полученный по коду

bot.isEnabledIntegrationById - Включена NLP интеграция - проверка по ID
bot.isEnabledIntegrationByCode - Включена NLP интеграция - проверка по коду

На платформе имеются методы JavaScript для Лида:

lead.setActiveNlpIntegrationById(): int|null - Устанавливается интеграция по ID
lead.setActiveNlpIntegrationByCode(): string - Устанавливается интеграция по коду

lead.hasActiveNlpIntegration - Установлена NLP интеграция

lead.getActiveNlpIntegrationId(): int|null - Текущий ID NLP интеграции
lead.getActiveNlpIntegrationCode(): string - Текущий код NLP интеграции

lead.getActiveOrFirstNlpIntegrationId(): int|null - Текущий ID NLP интеграции + по умолчанию, если не установлена
lead.getActiveOrFirstNlpIntegrationCode(): string - Текущий код NLP интеграции + по умолчанию, если не установлена

Last updated