Анализ нового API OpenBook NLU

Недавно Botpress объявил о выпуске OpenBook, «движка NLU следующего поколения».

В этой статье я расскажу как работает Openbook, как он будет использоваться и, наконец, анализ решения.

Введение

Мне посчастливилось получить ранний доступ к этому новому продукту от Ботпресс под названием OpenBook. Botpress позиционирует OpenBook как платформу чат-ботов, основанную на знаниях, а не базу знаний как таковую.

У меня складывается впечатление, что Openbook — это тонкий слой абстракции, который находится поверх LLM, но об этом позже…

Openbook все еще находится в разработке, и вскоре на первый план выйдут такие элементы, как сущности.

По словам Ботпресса…

Openbook стремится решить четыре проблемы чат-ботов:

  • Создавайте быстрее и проще
  • Предсказуемость и контроль
  • Масштабируемость
  • Создание диалогов, которые кажутся по-настоящему человечными

Как работает Openbook?

  • Openbook продается как среда разработки чат-ботов, основанная на знаниях, а не база знаний как таковая.
  • Но у Openbook есть доступный API, который в основном будет использоваться существующими платформами чат-ботов, поскольку Openbook не будет поставляться в комплекте с предложением Botpress. Openbook, скорее всего, будет доступен на основе оплаты по факту использования.
  • Судя по изображению ниже, тестовое окно чата имеет строгие и свободные настройки для генерации естественного языка (NLG). Строгая версия возвращает дословно детали обучающих данных.
  • Также на изображении ниже уровень истории немного напоминает управление контекстом разговора в OpenAI.

  • На изображении ниже видно, что зеленый ответ бота генерируется на уровне ответа строгий, а желтый — на уровне ответа свободный. Строгий — это дословный вариант из данных обучения, а Свободный — сгенерированный.

  • Двумя наиболее впечатляющими функциями Openbook являются NLG и сохранение контекста в беседе, так как до 5 диалогов возвращаются в историю беседы. Ниже приведен пример, когда задается вопрос о детях и сохраняется контекст пула. Эта функция немного напоминает управление контекстом в OpenAI.

  • Ниже представлена ​​общая информация о пользовательском интерфейсе. Приложение Openbook состоит из набора MD-файлов (фиолетового цвета), каждый файл можно рассматривать как часть потока беседы или как навыки в большом цифровом помощнике. В файле .md есть метки (зеленые), которые аналогичны намерениям. Каждая метка в свою очередь содержит факты (красные), а некоторые факты можно дополнить контекстными вопросами (желтые).

  • Вскоре Botpress представит сущности. Ниже приведен пример формата JSON, который будет определять сущность. Сущности формата JSON будут довольно продвинуты с синонимами и шаблонами. Наличие элемента patterns, вероятно, означает определение контекста для сущностей внутри высказываний.
{
  "lists": [
    {
      "name": "Montreal Hotel & Suites",
      "synonyms": [
        "MHS",
        "Montreal Hotel"
      ]
    }
  ],
  "patterns": []
}

Как будет использоваться Openbook?

Openbook можно использовать в автономном режиме для небольших реализаций.

Однако для более крупных реализаций корпоративного уровня, которые необходимо хорошо масштабировать, Openbook будет использоваться в качестве вспомогательного API.

Отсутствие сущностей и точная настройка потока затруднит реализацию Openbook для длинных диалогов с несколькими поворотами диалога.

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

Анализ

Базы знаний

Openbook конкурирует с устоявшимися платформами баз знаний, такими как IBM Watson Discovery, Oracle Digital Assistant, и общими системами QnA, такими как NVIDIA Riva и другими предложениями LLM.

Botpress анонсировал OpenBook как движок NLU следующего поколения. Смелое заявление, учитывая достижения Co:here, OpenAI, AI21labs и т. д.

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

Это подводит меня к следующему пункту: Большие языковые модели…

LLM

Я всегда спрашиваю себя, что там под капотом?

Действительно кажется, что Openbook построен на основе большой языковой модели.

Например, элементы, составляющие Openbook, производят на меня такое впечатление:

  • Короткое время обучения
  • Надежный элемент NLG,
  • и способ, которым диалог представлен и управляется.

Позвольте мне проиллюстрировать это несколькими примерами…

Ниже приведен файл знаний для навыка удобства в демонстрационном приложении отеля. Файл знаний используется для обучения Openbook.

При запросе Openbook с вопросом «могут ли дети пользоваться бассейном?».

Ниже приведены результаты, полученные Openbook:

Когда точно такие же обучающие данные вводятся в API завершения Co:here, возвращается почти такой же результат. И уровень детализации и творчества NLG может быть установлен.

В OpenAI вводятся те же тренировочные данные с comfort.md, результаты сопоставимы. Опять же, NLG можно настроить с точки зрения креативности.

А студия AI21labs

Наконец, имейте в виду, что существуют бесплатные инициативы в области искусственного интеллекта с открытым исходным кодом, такие как EleutherAI, показанные ниже. Где тот же подход используется с хорошими результатами. Deepset также имеет довольно много решений с открытым исходным кодом, доступных для семантического поиска, ответов на вопросы и разговорного ИИ.

Заключение

У меня складывается впечатление, что Openbook — это тонкий слой абстракции, который находится поверх LLM.

Вероятная архитектура заключается в том, что пользовательский ввод (шаг 1) отправляется в API-интерфейс семантического поиска нулевого выстрела LLM, чтобы определить, в какой файл MD попадает запрос.

Отсюда содержимое файла MD вместе с пользовательским вводом отправляется в API генерации LLM (шаг 2) для генерации ответа бота. В тех случаях, когда необходимо сохранить контекст (шаг 3), предыдущие вводимые пользователем данные включаются в генерацию.

На шаге 3 пользователь спрашивает что-то вроде «можно ли детям пользоваться бассейном отеля?», за которым следует вопрос типа «насколько он большой?». LLM Generation довольно хорошо обнаруживает эту контекстуальную ссылку (пул) и точно отвечает, в случае этого примера, с размером пула.

Это логичный вывод, учитывая сгенерированные ответы, основанные на сценарии обучения с небольшим количеством показов и коротком времени обучения. Также NLG и возможность устанавливать температуру на генерируемых ответах.

Если это так, то есть несколько соображений… одно из них — возможность того, что Openbook зависит от лежащего в основе лицензионного программного обеспечения и добавленной стоимости Openbook в более широкой схеме вещей.

Openbook довольно молчал о том, что находится под капотом, из-за времени, которое я недавно провел с LLM, я вырос, чтобы понять, как их можно использовать, и определенно мог видеть, как этот подход будет работать. Мне будет очень интересно оказаться правым или неправым 🙂.















Прочитайте технический документ Botpress OpenBook.