Перейти до основного вмісту
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 приносить можливості висновку (inference) на основі браузера до вашої мережі WordPress multisite. Він запускає великі мовні моделі (LLM) повністю у браузері за допомогою 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 filter: Хукається до фільтра 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. Активуйте плагін через меню 'Plugins' у WordPress
  3. Перейдіть до Ultimate Multisite → AI Connector, щоб налаштувати аддон

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

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

Що він робить

Коли він увімкнений, у кутку кожної сторінки фронтенду з'являється значок чату для авторизованих користувачів. Натискання на значок відкриває чат-панель, де користувач може вводити запити та отримувати відповіді від локально запущеної моделі WebLLM. Оскільки модель працює повністю в браузері, відповіді є приватними та не вимагають жодної серверної обробки.

Індикатор стану в адмін-барі

Адмін-бар WordPress містить індикатор стану, який показує поточний стан двигуна WebLLM:

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

Індикатор оновлюється в реальному часі без необхідності перезавантаження сторінки.

Як увімкнути або вимкнути віджет

  1. Перейдіть до Ultimate Multisite → AI Connector в адміні мережі
  2. Знайдіть панель Connector
  3. Увімкніть або вимкніть Enable floating chat widget
  4. Збережіть налаштування

Віджет також можна увімкнути або вимкнути для кожної сайту з адмін-панелі самого сайту, якщо адміністратор мережі надав цю можливість.

Налаштування віджета

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

Enable Floating Chat Widget

Вмикає або вимикає чат-віджет для всієї мережі. Якщо він вимкнений, віджет не відображатиметься на жодній сторінці фронтенду, незалежно від ролі користувача.

Default: Off

Auto-Prompt Behaviour

Визначає, чи автоматично надсилати чат-віджет запит, коли користувач його відкриває.

OptionBehaviour
DisabledВіджет відкривається з порожнім чатом — користувач вводить власний запит
Page contextВіджет відкривається з попередньо заповненим промптом на основі заголовка та вмісту поточної сторінки
Custom promptВіджет відкривається з користувацьким промптом, який ви визначаєте у полі нижче

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

  • {site_name} — назва поточного сайту
  • {page_title} — заголовок поточної сторінки
  • {user_display_name} — відображуване ім'я авторизованого користувача

Default: Disabled

SharedWorker Runtime

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

За допомогою SharedWorker runtime одна вкладка виступає як хост двигуна. Усі інші вкладки спілкуються з цією єдиною інстанцією через канал повідомлень worker'а. Результат:

  • Одна GPU-сесія, спільна для всіх відкритих вкладок
  • Швидші відповіді після завантаження моделі (немає повторної ініціалізації)
  • Нижче споживання пікової пам'яті на пристрої

SharedWorker є прозорим для користувачів. Індикатор стану в адмін-барі завжди відображає стан спільного двигуна, а не окремої вкладки.

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.

Усунення несправностей

Віджет чату не відображається

  • Підтвердіть, що користувач авторизований — віджет показується лише для автентифікованих користувачів
  • Перевірте, чи увімкнено Enable floating chat widget у панелі Connector
  • Переконайтеся, що браузер користувача підтримує WebGPU (див. Вимоги вище)

Індикатор адмін-бару показує "Error"

Відкрийте консоль розробника браузера (F12) та знайдіть помилки, пов'язані з WebLLM. Поширені причини:

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

Ваги моделі завантажуються щоразу

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

Changelog

Дивіться Changelog для повного історії версій.