Для интеграции возможностей искусственного интеллекта в Drupal существует и активно развивается набор модулей под общим пространством имён AI (Artificial Intelligence).

Принимая во внимание широкие возможности API самого Drupal, а также такие no-code решения как ECA, варианты применения искусственного интеллекта становятся поистине всеобъемлющими.

Мы уже успешно опробовали Drupal с подключением к облачным и локальным ИИ-моделям для автоматизации следующих задач:

  • автоматизация создания контента (текста, полей, словарей, описаний товаров, изображений, метатегов) с применением генеративных моделей;
  • автоматический перевод контента на другие языки с помощью LLM;
  • автоматизация классификации документов, премодерации;
  • автоматизация саммаризации контента и построения отчетов.

Вот несколько впечатляющих примеров работы ИИ-агента, имеющего доступ к веб-формам Drupal, для анализа результата массового опроса пользователей сайта:

 

1-AI-DeepChat-Chatbot

 

2-AI-DeepChat-Chatbot

 

В текущем состоянии модуль AI Drupal (версии 1.2.x) включает в себя следующие подмодули:

  • AI API Explorer - модуль для разработчиков, предоставляющий административный интерфейс для тестирования различных аспектов взаимодействия с выбранной ИИ моделью.
  • AI Automators - автоматизация работы с полями сущностей с помощью ИИ. Например, в виде автоматического заполнения полей.
  • AI Chatbot - функционал чата с выбранной ИИ моделью.
  • AI CKEditor integration - интеграция с CKEditor. Предоставляет функции автодополнения, исправления ошибок, изменения тона текста, перевода и т. д.
  • AI Content Suggestions - подсказки по контенту при создании или редактировании ноды.
  • AI Logging - логирование запросов и ответов при общении с ИИ моделью. Полезно для проверки и отладки в процессе разработки.
  • AI Translate - перевод с помощью ИИ.
  • AI Validations - интеграция с модулем Field Validation, позволяющая выполнять валидацию полей с помощью ИИ.

Значимые модули за пределами модуля AI:

  • ECA: Event - Condition - Action - мощное no-code решение для проектирования и реализации бизнес процессов.
  • AI Integration - ECA - интеграция модуля AI с модулем ECA. Ранее входила в состав модуля AI, но была вынесена в отдельный модуль. Позволяет использовать ИИ функционал в ECA моделях.
  • AI Agents - фреймворк для создания ИИ агентов для управления Drupal. Также предоставляет несколько уже готовых агентов — для управления полями сущностей, для управления нодами и для управления таксономией.
  • AI Search - семантический поиск в векторных базах данных. Поиск не по ключевым словам, а по смыслу запроса. Ранее входил в состав модуля AI, но был вынесен в отдельный модуль.

Все запросы к ИИ моделям в рамках модуля AI разделяются по типу операций:

  • Чат - основной вариант взаимодействия, текстовый запрос и текстовый ответ. Ответ может выводиться как целиком по завершению генерации, так и в режиме стриминга.
  • Текст в изображение - генерация изображения по текстовому запросу.
  • Текст в речь - преобразование текста в речь.
  • Речь в текст - преобразование речи в текст.
  • Векторные представления (Эмбеддинги) - генерация векторного представления для заданного текста.
  • Модерация - проверка текста на соответствие заданным правилам.
  • Аудио в аудио - конвертация исходного аудио файла в новый аудио файл, например, с целью удаления шумов.
  • Речь в речь - изменение голоса в исходном аудио файле.
  • Классификация изображения - оценка принадлежности изображения заданному классу (категории).
  • Перевод текста - перевод с одного языка на другой.
  • Изображение в изображение - формирование нового изображения на основе исходного, например, с целью увеличения детализации.

Реализация взаимодействия с конкретными ИИ провайдерами вынесена в отдельные модули. Основной модуль AI в данном случае выступает связующим звеном, предоставляя API для интеграции без необходимости адаптировать код под каждого провайдера отдельно. Такой подход даёт возможность быстрой замены провайдера (или модели) без изменения кодовой базы проекта. При этом провайдеров может использоваться несколько, каждый под определённую задачу. На текущий момент реализованы интеграции (модули) с 48 провайдерами и это число продолжает расти.

Варианты применения ИИ в Drupal можно грубо разделить на два типа:

  1. Прямое внедрение в бизнес процессы с помощью ECA, готовых средств автоматизации или кастомного кода.
  2. Использование автономных ИИ агентов.

Первый вариант предполагает явно прописанные рамки того, как и с чем процесс будет взаимодействовать, какие действия выполнять и какого результата достигать. Такой подход предоставляет больший контроль и снижает риски, связанные с безопасностью. При этом требуется время на проработку процесса (даже, если мы говорим о ECA). ИИ в данном случае помогает точечно автоматизировать задачи в процессах, которые раньше мог выполнять только человек.

Второй вариант предполагает совершенно новый подход к взаимодействию с сайтом. Автономный ИИ агент имеет в своём арсенале набор инструментов, которые позволяют ему выполнять действия на сайте для удовлетворения запроса пользователя. Таким действием может быть публикация контента, создание пользователя, присвоение роли и т.д. Такой подход даёт агенту свободу в принятии решений для достижения поставленной цели, но также повышает риски из-за вероятности выполнения нежелательных действий. Важно помнить, что агент не равен человеку и для выполнения задачи он будет использовать все имеющиеся у него инструменты и ресурсы, если посчитает их уместными. Это может приводить к удалению данных, раскрытию данных или даже взлому сайта. Поэтому необходима тщательная настройка агентов для разграничения их обязанностей и возможностей.

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

Отдельный риск при использовании ИИ агентов связан с новым видом атак под названием «инъекция промпта» (prompt injection) по аналогии с SQL инъекциями. Если взаимодействие с агентом доступно пользователю, то он может ввести специально сформулированный текст, чтобы заставить ИИ игнорировать изначальные инструкции и выполнить несанкционированные действия.

Для предотвращения инъекций промпта в новых версиях модуля AI представлен механизм Guardrails (ограничители). Данный механизм по своей сути схож с механизмом предотвращения SQL инъекций в API базы данных. При использовании механизма ограничителей весь контент, генерируемый пользователем, проверяется относительно настроенных правил. Если результат проверки отрицательный, то все дальнейшие действия прерываются.

Существует два типа ограничителей:

  1. Недетерминированные. Проверка выполняется с помощью ИИ.
  2. Детерминированные. Проверка выполняется алгоритмически.

Например, к первому типу можно отнести проверку промпта на соответствие определённой категории, а ко второму типу - проверку по регулярному выражению.

Резюмируя всё вышесказанное, можно отметить, что Drupal на сегодняшний день является одной из ведущих open-source платформ для интеграции ИИ в веб-проекты.

В Инитлаб мы активно используем ИИ возможности Drupal в собственных проектах и предлагаем нашим клиентам автоматизацию с использованием ИИ на базе Drupal.

Добавить комментарий