Aller au contenu principal
Paid AddonPurchase Connecteur IA Ultimate pour WebLLM | Install via your site's addon page or download from your account

Connecteur IA Ultimate pour WebLLM

Le Connecteur IA Ultimate pour WebLLM apporte l'inférence IA native au navigateur de votre réseau multisite WordPress. Il exécute des grands modèles de langage entièrement dans le navigateur en utilisant WebLLM et le moteur MLC — aucune clé API, aucun appel externe, aucune donnée qui quitte l'appareil de l'utilisateur.

Fonctionnalités Clés

  • Inférence côté navigateur : Le LLM s'exécute localement dans le navigateur du visiteur via WebLLM/MLC — pas de GPU serveur requis
  • Widget de chat flottant : Les utilisateurs connectés peuvent interroger le LLM côté navigateur directement depuis le front-end
  • Indicateur de statut dans la barre d'administration : Le statut en temps réel du moteur WebLLM est visible dans la barre d'administration WordPress
  • Runtime SharedWorker : Plusieurs onglets de navigateur partagent une seule session GPU au lieu de se disputer les ressources GPU
  • Middleware apiFetch : Les requêtes WordPress REST qui correspondent au modèle AI Client SDK sont acheminées de manière transparente vers le broker WebLLM local — pas de round-trip HTTP de boucle
  • Interface de configuration du widget : Paramètres du panneau Connecteur pour activer/désactiver le widget de chat et configurer le comportement de l'invite automatique
  • Cache IndexedDB : Les téléchargements des poids du modèle survivent aux redirections CDN qui cassent le chemin par défaut de l'API Cache
  • Intégration wpai filter : Se connecte au filtre wpai_preferred_text_models afin que la fonctionnalité Expérimentations IA soit acheminée vers le moteur navigateur lorsqu'elle est configurée

Prérequis

  • WordPress 5.3 ou supérieur
  • PHP 7.4 ou supérieur
  • Plugin Ultimate Multisite (actif)
  • Un navigateur prenant en charge WebGPU (Chrome 113+, Edge 113+, ou Firefox Nightly avec WebGPU activé)

Installation

  1. Téléchargez les fichiers du complément dans votre répertoire /wp-content/plugins/
  2. Activez le plugin via le menu 'Plugins' de WordPress
  3. Rendez-vous sur Ultimate Multisite → Connecteur IA pour configurer le complément

Widget de Chat Flottant

Le widget de chat flottant permet à tout utilisateur connecté d'interagir avec le LLM côté navigateur directement depuis votre front-end, sans quitter la page sur laquelle il se trouve.

Ce qu'il fait

Lorsqu'il est activé, une icône de chat apparaît dans le coin de chaque page front-end pour les utilisateurs connectés. Cliquer sur l'icône ouvre un panneau de chat où l'utilisateur peut taper des invites et recevoir des réponses du modèle WebLLM fonctionnant localement. Étant donné que le modèle s'exécute entièrement dans le navigateur, les réponses sont privées et n'impliquent aucun traitement côté serveur.

Indicateur de statut dans la barre d'administration

La barre d'administration WordPress comprend un indicateur de statut qui affiche l'état actuel du moteur WebLLM :

StatutSignification
LoadingLe moteur MLC est en cours d'initialisation ou télécharge les poids du modèle
ReadyLe modèle est chargé et disponible pour l'inférence
IdleLe moteur est chargé, mais l'onglet SharedWorker n'est pas actif
ErrorLe moteur n'a pas réussi à s'initialiser — vérifiez la console du navigateur pour plus de détails

L'indicateur se met à jour en temps réel sans nécessiter de rechargement de page.

Comment activer ou désactiver le widget

  1. Allez sur Ultimate Multisite → Connecteur IA dans l'administration du réseau
  2. Trouvez le panneau Connecteur
  3. Activez ou désactivez Activer le widget de chat flottant
  4. Enregistrez les paramètres

Le widget peut également être activé ou désactivé par site depuis l'administration du site lui-même si l'administrateur du réseau a accordé cette capacité.

Paramètres du Widget

Le panneau Connecteur dans Ultimate Multisite → Connecteur IA contient les paramètres suivants pour le widget de chat flottant :

Activer le widget de chat flottant

Active ou désactive le widget de chat pour l'ensemble du réseau. Lorsqu'il est désactivé, le widget n'apparaît sur aucune page front-end, quel que soit le rôle de l'utilisateur.

Défaut : Désactivé

Comportement de l'invite automatique

Contrôle si le widget de chat envoie automatiquement une invite lorsqu'un utilisateur l'ouvre.

OptionComportement
DésactivéLe widget s'ouvre sur un chat vide — l'utilisateur tape sa propre invite
Contexte de la pageLe widget s'ouvre avec une invite préremplie basée sur le titre et le contenu de la page actuelle
Invite personnaliséeLe widget s'ouvre avec une invite personnalisée que vous définissez dans le champ ci-dessous

Lorsqu'il est défini sur Invite personnalisée, un champ de texte supplémentaire apparaît où vous pouvez saisir le texte de l'invite par défaut. Prend en charge les variables de modèle de base :

  • {site_name} — le nom du site actuel
  • {page_title} — le titre de la page actuelle
  • {user_display_name} — le nom d'affichage de l'utilisateur connecté

Défaut : Désactivé

Runtime SharedWorker

La version 1.1.0 introduit un runtime SharedWorker pour le moteur MLC. Auparavant, chaque onglet de navigateur utilisant WebLLM chargeait sa propre instance du modèle, se faisant concurrence pour la mémoire GPU et provoquant des problèmes de performance sur les appareils disposant d'une VRAM limitée.

Avec le runtime SharedWorker, un onglet agit comme l'hôte du moteur. Tous les autres onglets communiquent avec cette seule instance via le canal de message du worker. Le résultat :

  • Une seule session GPU partagée par tous les onglets ouverts
  • Des réponses plus rapides une fois le modèle chargé (pas d'initialisation répétée)
  • Une utilisation mémoire de pointe plus faible sur l'appareil

Le SharedWorker est transparent pour les utilisateurs. L'indicateur de statut dans la barre d'administration reflète toujours l'état du moteur partagé, et non celui de l'onglet individuel.

Middleware apiFetch

Le complément installe un middleware apiFetch qui intercepte les requêtes WordPress REST API correspondant au modèle AI Client SDK. Au lieu d'effectuer une requête HTTP de boucle vers le serveur, ces requêtes sont acheminées directement vers le broker WebLLM local fonctionnant dans le SharedWorker.

Cela signifie que les plugins et les thèmes qui utilisent l'API standard apiFetch de WordPress pour appeler des points de terminaison IA bénéficieront automatiquement du modèle côté navigateur lorsqu'il sera disponible, sans modification de code nécessaire.

Hooks et Filtres

Filtres

  • wpai_preferred_text_models — Enregistre le moteur navigateur WebLLM comme modèle de texte préféré. Le complément se connecte automatiquement à ce filtre lorsque le moteur est configuré et disponible.
  • ultimate_webllm_widget_enabled — Remplace l'état activé du widget pour un utilisateur ou un contexte spécifique. Retourne true ou false.
  • ultimate_webllm_auto_prompt — Modifie le texte de l'invite automatique avant qu'il ne soit envoyé au widget. Reçoit la chaîne d'invite et l'objet WP_Post actuel.

Dépannage

Le widget de chat n'apparaît pas

  • Confirmez que l'utilisateur est connecté — le widget n'est visible que pour les utilisateurs authentifiés
  • Vérifiez que Activer le widget de chat flottant est activé dans le panneau Connecteur
  • Vérifiez que le navigateur de l'utilisateur prend en charge WebGPU (voir Prérequis ci-dessus)

L'indicateur de la barre d'administration affiche "Error"

Ouvrez la console de développement du navigateur (F12) et recherchez les erreurs liées à WebLLM. Causes courantes :

  • Le navigateur ne prend pas en charge WebGPU
  • Échec du téléchargement des poids du modèle — vérifiez la connectivité réseau et essayez de vider le cache IndexedDB dans les outils de développement du navigateur (Application → IndexedDB)
  • Une extension de navigateur bloque le SharedWorker

Les poids du modèle se téléchargent à chaque fois

Le complément utilise IndexedDB comme backend de cache pour garantir que les poids du modèle survivent aux redirections CDN. Si les poids sont re-téléchargés à chaque visite, vérifiez que IndexedDB n'est pas vidé par un paramètre de confidentialité ou une extension de navigateur.

Journal des modifications

Consultez Changelog pour l'historique complet des versions.