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_modelsafin 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
- Téléchargez les fichiers du complément dans votre répertoire
/wp-content/plugins/ - Activez le plugin via le menu 'Plugins' de WordPress
- 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 :
| Statut | Signification |
|---|---|
| Loading | Le moteur MLC est en cours d'initialisation ou télécharge les poids du modèle |
| Ready | Le modèle est chargé et disponible pour l'inférence |
| Idle | Le moteur est chargé, mais l'onglet SharedWorker n'est pas actif |
| Error | Le 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
- Allez sur Ultimate Multisite → Connecteur IA dans l'administration du réseau
- Trouvez le panneau Connecteur
- Activez ou désactivez Activer le widget de chat flottant
- 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.
| Option | Comportement |
|---|---|
| Désactivé | Le widget s'ouvre sur un chat vide — l'utilisateur tape sa propre invite |
| Contexte de la page | Le widget s'ouvre avec une invite préremplie basée sur le titre et le contenu de la page actuelle |
| Invite personnalisée | Le 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. Retournetrueoufalse.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'objetWP_Postactuel.
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.