Перейти к основному содержимому
Paid AddonPurchase Ultimate AI Connector for WebLLM | Install via your site's addon page or download from your account

Ultimate AI Connector for WebLLM

Ultimate AI Connector for WebLLM предоставляет возможности работы с AI прямо в браузере для вашей сети WordPress multisite. Он запускает большие языковые модели полностью в браузере с использованием WebLLM и движка MLC — не нужны API-ключи, внешние вызовы и данные не покидают устройство пользователя.

Основные возможности

  • Инференс на стороне браузера: LLM работает локально в браузере посетителя через WebLLM/MLC — не требуется GPU на сервере
  • Плавающий чат-виджет: Пользователи, вошедшие в систему, могут напрямую задавать вопросы локально запущенной LLM прямо с фронтенда
  • Индикатор статуса в админ-баре: В реальном времени отображается статус движка WebLLM в админ-баре WordPress
  • SharedWorker runtime: Несколько вкладок браузера делят одну сессию GPU вместо того, чтобы конкурировать за ресурсы GPU
  • apiFetch middleware: Запросы WordPress REST, соответствующие шаблону AI Client SDK, прозрачно перенаправляются на локальный брокер WebLLM — нет обратного HTTP-запроса
  • UI настроек виджета: Панель настроек коннектора для включения/выключения чат-виджета и настройки поведения авто-промпта
  • Кэш IndexedDB: Загрузка весов модели сохраняется при перенаправлениях CDN, которые нарушают путь по умолчанию для Cache API
  • Интеграция с фильтром wpai: Подключается к фильтру wpai_preferred_text_models, чтобы функция AI Experiments маршрутизировалась к браузерному движку при настройке

Требования

  • WordPress 5.3 или выше
  • PHP 7.4 или выше
  • Плагин Ultimate Multisite (активен)
  • Браузер с поддержкой WebGPU (Chrome 113+, Edge 113+ или Firefox Nightly с включенной WebGPU)

Установка

  1. Загрузите файлы аддона в каталог /wp-content/plugins/
  2. Активируйте плагин через меню «Плагины» в WordPress
  3. Перейдите в Ultimate Multisite → AI Connector, чтобы настроить аддон

Плавающий чат-виджет

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

Что он делает

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

Индикатор статуса в админ-баре

В админ-баре WordPress есть индикатор статуса, который показывает текущее состояние движка WebLLM:

СтатусЗначение
LoadingДвижок MLC инициализируется или загружает веса модели
ReadyМодель загружена и готова к инференсу
IdleДвижок загружен, но вкладка SharedWorker не активна
ErrorДвижок не смог инициализироваться — проверьте консоль браузера на наличие деталей

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

Как включить или выключить виджет

  1. Перейдите в Ultimate Multisite → AI Connector в админке сети
  2. Найдите панель Connector
  3. Включите или выключите Enable floating chat widget
  4. Сохраните настройки

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

Настройки виджета

Панель Connector в Ultimate Multisite → AI Connector содержит следующие настройки для плавающего чат-виджета:

Включить плавающий чат-виджет

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

По умолчанию: Выкл.

Поведение авто-промпта

Управляет тем, отправляет ли чат-виджет автоматически запрос, когда пользователь его открывает.

ОпцияПоведение
DisabledВиджет открывается с пустым чатом — пользователь вводит свой собственный запрос
Page contextВиджет открывается с предварительно заполненным запросом, основанным на заголовке и содержимом текущей страницы
Custom promptВиджет открывается с пользовательским запросом, который вы определяете в поле ниже

При выборе Custom prompt появляется дополнительное текстовое поле, куда вы можете ввести текст запроса по умолчанию. Поддерживаются базовые переменные шаблона:

  • {site_name} — название текущего сайта
  • {page_title} — заголовок текущей страницы
  • {user_display_name} — отображаемое имя вошедшего пользователя

По умолчанию: Выкл.

SharedWorker Runtime

Версия 1.1.0 вводит SharedWorker runtime для движка MLC. Ранее каждая вкладка браузера, использующая WebLLM, загружала собственную инстанцию модели, конкурируя за память GPU и вызывая проблемы с производительностью на устройствах с ограниченной VRAM.

С SharedWorker runtime одна вкладка выступает в роли хоста движка. Все остальные вкладки общаются с этой единственной инстанцией через канал сообщений worker'а. Результат:

  • Одна сессия GPU, общая для всех открытых вкладок
  • Более быстрые ответы после загрузки модели (нет повторной инициализации)
  • Более низкое пиковое использование памяти на устройстве

SharedWorker невидим для пользователей. Индикатор статуса в админ-баре всегда отражает состояние общей (shared) системы, а не отдельной вкладки.

apiFetch Middleware

Аддон устанавливает middleware apiFetch, который перехватывает запросы WordPress REST API, соответствующие шаблону AI Client SDK. Вместо выполнения обратного HTTP-запроса на сервер, эти запросы напрямую маршрутизируются к локальному брокеру WebLLM, работающему в SharedWorker.

Это означает, что плагины и темы, использующие стандартный API WordPress apiFetch для вызова AI-эндпоинтов, автоматически получат выгоду от браузерной модели, когда она будет доступна, без необходимости изменения кода.

Хуки и фильтры

Фильтры

  • wpai_preferred_text_models — Регистрирует браузерный движок WebLLM как предпочтительную текстовую модель. Аддон автоматически подключается к этому фильтру, когда движок настроен и доступен.
  • ultimate_webllm_widget_enabled — Переопределяет состояние включения виджета для конкретного пользователя или контекста. Возвращает true или false.
  • ultimate_webllm_auto_prompt — Изменяет текст авто-промпта перед его отправкой в виджет. Получает строку запроса и текущий объект WP_Post.

Устранение неполадок

Виджет чата не отображается

  • Убедитесь, что пользователь вошел в систему — виджет отображается только для аутентифицированных пользователей
  • Проверьте, что в панели Connector включена опция Enable floating chat widget
  • Убедитесь, что браузер пользователя поддерживает WebGPU (см. Требования выше)

Индикатор в админ-баре показывает «Error»

Откройте консоль разработчика браузера (F12) и поищите ошибки, связанные с WebLLM. Частые причины:

  • Браузер не поддерживает WebGPU
  • Не удалось загрузить веса модели — проверьте сетевое соединение и попробуйте очистить кэш IndexedDB в инструментах разработчика браузера (Application → IndexedDB)
  • Расширение браузера блокирует SharedWorker

Веса модели загружаются каждый раз

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

Changelog

См. Changelog для полной истории версий.