Ultimate AI Connector for WebLLM
Ultimate AI Connector for WebLLM आपके WordPress multisite network में ब्राउज़र-नेटिव AI inference लाता है। यह WebLLM और MLC engine का उपयोग करके बड़े भाषा मॉडल (large language models) को पूरी तरह से ब्राउज़र में चलाता है — इसके लिए किसी API key, बाहरी कॉल या उपयोगकर्ता के डिवाइस से डेटा बाहर भेजने की ज़रूरत नहीं होती।
मुख्य विशेषताएँ (Key Features)
- ब्राउज़र-सा इड inference: LLM WebLLM/MLC के माध्यम से स्थानीय रूप से (locally) विज़िटर के ब्राउज़र में चलता है — इसके लिए सर्वर GPU की आवश्यकता नहीं है।
- फ्लोटिंग चैट विजेट: लॉग-इन उपयोगकर्ता फ्रंट एंड से सीधे ब्राउज़र-साइड LLM को प्रॉम्प्ट दे सकते हैं।
- एडमिन-बार स्टेटस इंडिकेटर: WordPress एडमिन बार में WebLLM इंजन की वास्तविक समय (real-time) की स्थिति दिखाई देती है।
- SharedWorker runtime: कई ब्राउज़र टैब GPU संसाधनों के लिए आपस में लड़ने के बजाय एक ही GPU सेशन साझा करते हैं।
- apiFetch middleware: WordPress REST अनुरोध जो AI Client SDK पैटर्न से मेल खाते हैं, उन्हें पारदर्शी रूप से स्थानीय WebLLM ब्रोकर पर रूट किया जाता है — कोई लूपबैक HTTP राउंड-ट्रिप नहीं।
- विजेट सेटिंग्स UI: चैट विजेट को चालू/बंद करने और ऑटो-प्रॉम्प्ट व्यवहार को कॉन्फ़िगर करने के लिए कनेक्टर पैनल सेटिंग्स।
- IndexedDB cache: मॉडल वेट डाउनलोड CDN रीडायरेक्ट से बच जाते हैं जो डिफ़ॉल्ट Cache API पाथ को तोड़ देते हैं।
- wpai filter integration:
wpai_preferred_text_modelsफ़िल्टर में हुक होता है, ताकि AI Experiments सुविधा कॉन्फ़िगर होने पर ब्राउज़र इंजन पर रूट हो सके।
आवश्यकताएँ (Requirements)
- WordPress 5.3 या इससे उच्च
- PHP 7.4 या इससे उच्च
- Ultimate Multisite प्लगइन (सक्रिय)
- WebGPU सपोर्ट वाला ब्राउज़र (Chrome 113+, Edge 113+, या WebGPU सक्षम Firefox Nightly)
इंस्टॉलेशन (Installation)
- एडऑन फ़ाइलों को अपने
/wp-content/plugins/डायरेक्टरी में अपलोड करें। - WordPress में 'Plugins' मेनू के माध्यम से प्लगइन को सक्रिय करें।
- एडऑन को कॉन्फ़िगर करने के लिए Ultimate Multisite → AI Connector पर जाएँ।
फ्लोटिंग चैट विजेट (Floating Chat Widget)
फ्लोटिंग चैट विजेट किसी भी लॉग-इन उपयोगकर्ता को अपनी वर्तमान पेज को छोड़े बिना, सीधे आपके फ्रंट एंड से ब्राउज़र-साइड LLM के साथ इंटरैक्ट करने की अनुमति देता है।
यह क्या करता है (What It Does)
जब इसे सक्षम किया जाता है, तो लॉग-इन उपयोगकर्ताओं के लिए हर फ्रंट-एंड पेज के कोने में एक चैट आइकन दिखाई देता है। आइकन पर क्लिक करने से एक चैट पैनल खुल जाता है जहाँ उपयोगकर्ता प्रॉम्प्ट टाइप कर सकते हैं और स्थानीय रूप से चल रहे WebLLM मॉडल से प्रतिक्रिया प्राप्त कर सकते हैं। चूंकि मॉडल पूरी तरह से ब्राउज़र में चलता है, इसलिए प्रतिक्रियाएँ निजी होती हैं और उनमें किसी सर्वर-साइड प्रोसेसिंग की आवश्यकता नहीं होती।
एडमिन-बार स्टेटस इंडिकेटर (Admin-Bar Status Indicator)
WordPress एडमिन बार में एक स्टेटस इंडिकेटर शामिल है जो WebLLM इंजन की वर्तमान स्थिति दिखाता है:
| Status | Meaning |
|---|---|
| Loading | MLC इंजन शुरू हो रहा है या मॉडल वेट डाउनलोड कर रहा है। |
| Ready | मॉडल लोड हो गया है और inference के लिए उपलब्ध है। |
| Idle | इंजन लोड है लेकिन SharedWorker टैब सक्रिय नहीं है। |
| Error | इंजन शुरू नहीं हो पाया — विवरण के लिए ब्राउज़र कंसोल की जाँच करें। |
यह इंडिकेटर पेज रीलोड किए बिना वास्तविक समय में अपडेट होता है।
विजेट को सक्षम या अक्षम कैसे करें (How to Enable or Disable the Widget)
- नेटवर्क एडमिन में Ultimate Multisite → AI Connector पर जाएँ।
- Connector पैनल खोजें।
- Enable floating chat widget को चालू या बंद करें।
- सेटिंग्स सहेजें।
यदि नेटवर्क एडमिनिस्ट्रेटर ने यह क्षमता दी है, तो विजेट को साइट के अपने एडमिन से भी साइट-दर-साइट सक्षम या अक्षम किया जा सकता है।
विजेट सेटिंग्स (Widget Settings)
Ultimate Multisite → AI Connector में कनेक्टर पैनल में फ्लोटिंग चैट विजेट के लिए निम्न लिखित सेटिंग्स होती हैं:
Enable Floating Chat Widget
यह पूरे नेटवर्क के लिए चैट विजेट को चालू या बंद करता है। अक्षम होने पर, विजेट किसी भी फ्रंट-एंड पेज पर दिखाई नहीं देगा, भले ही उपयोगकर्ता की भूमिका कुछ भी हो।
Default: Off
Auto-Prompt Behaviour
यह नियंत्रित करता है कि क्या चैट विजेट उपयोगकर्ता द्वारा इसे खोलने पर स्वचालित रूप से प्रॉम्प्ट भेजता है।
| Option | Behaviour |
|---|---|
| Disabled | विजेट एक खाली चैट के साथ खुलता है — उपयोगकर्ता अपना स्वयं का प्रॉम्प्ट टाइप करता है। |
| Page context | विजेट वर्तमान पेज के शीर्षक और सामग्री के आधार पर पहले से भरे गए प्रॉम्प्ट के सा थ खुलता है। |
| Custom prompt | विजेट एक कस्टम प्रॉम्प्ट के साथ खुलता है जिसे आप नीचे दिए गए फ़ील्ड में परिभाषित करते हैं। |
जब इसे Custom prompt पर सेट किया जाता है, तो एक अतिरिक्त टेक्स्ट फ़ील्ड दिखाई देता है जहाँ आप डिफ़ॉल्ट प्रॉम्प्ट टेक्स्ट दर्ज कर सकते हैं। यह बुनियादी टेम्पलेट वेरिएबल्स का समर्थन करता है:
{site_name}— वर्तमान साइट का नाम{page_title}— वर्तमान पेज का शीर्षक{user_display_name}— लॉग-इन उपयोगकर्ता का डिस्प्ले नाम
Default: Disabled
SharedWorker Runtime
Version 1.1.0 MLC इंजन के लिए एक SharedWorker runtime पेश करता है। पहले, WebLLM का उपयोग करने वाले प्रत्येक ब्राउज़र टैब मॉडल का अपना इंस्टेंस लोड करता था, जिससे GPU मेमोरी के लिए प्रतिस्पर्धा होती थी और सीमित VRAM वाले उपकर णों पर प्रदर्शन संबंधी समस्याएं होती थीं।
SharedWorker runtime के साथ, एक टैब इंजन होस्ट के रूप में कार्य करता है। अन्य सभी टैब वर्कर के मैसेज चैनल के माध्यम से उस एकल इंस्टेंस के साथ संवाद करते हैं। परिणाम:
- सभी खुले टैब में साझा एक GPU सेशन
- मॉडल लोड होने के बाद तेज़ प्रतिक्रियाएँ (कोई बार-बार प्रारंभिकरण नहीं)
- डिवाइस पर कम पीक मेमोरी उपयोग
SharedWorker उपयोगकर्ताओं के लिए पारदर्शी होता है। एडमिन-बार स्टेटस इंडिकेटर हमेशा साझा इंजन की स्थिति को दर्शाता है, न कि व्यक्तिगत टैब की।
apiFetch Middleware
एडऑन एक apiFetch middleware स्थापित करता है जो AI Client SDK पैटर्न से मेल खाने वाले WordPress REST API अनुरोधों को रोकता है। सर्वर पर लूपबैक HTTP अनुरोध करने के बजाय, इन अनुरोधों को सीधे SharedWorker में चल रहे स्थानीय WebLLM ब्रोकर पर रूट किया जाता है।
इसका मतलब है कि प्लगइन्स और थीम्स जो AI एंडपॉइंट को कॉल करने के लिए मानक WordPress apiFetch API का उपयोग करते हैं, वे स्वचालित रूप से ब्राउज़र-साइड मॉडल से लाभान्वित होंगे जब यह उपलब्ध होगा, जिसके लिए किसी कोड परिवर्तन की आवश्यकता नहीं है।
Hooks and Filters
Filters
wpai_preferred_text_models— WebLLM ब्राउज़र इंजन को पसंदीदा टेक्स्ट मॉडल के रूप में रजिस्टर करता है। एडऑन इंजन कॉन्फ़िगर और उपलब्ध होने पर स्वचालित रूप से इस फ़िल्टर में हुक होता है।ultimate_webllm_widget_enabled— किसी विशिष्ट उपयोगकर्ता या संदर्भ के लिए विजेट सक्षम स्थिति को ओवरराइड करता है।trueयाfalseलौटाएँ।ultimate_webllm_auto_prompt— विजेट को भेजे जाने से पहले ऑटो-प्रॉम्प्ट टेक्स्ट को संशोधित करता है। यह प्रॉम्प्ट स्ट्रिंग और वर्तमानWP_Postऑब्जेक्ट प्राप्त करता है।
समस्या निवारण (Troubleshooting)
चैट विजेट दिखाई नहीं दे रहा है
- पुष्टि करें कि उपयोगकर्ता लॉग-इन है — विजेट केवल प्रमाणित उपयोगकर्ताओं को दिखाया जाता है।
- जांच लें कि कनेक्टर पैनल में Enable floating chat widget चालू है।
- सत्यापित करें कि उपयोगकर्ता का ब्राउज़र WebGPU का समर्थन करता है (ऊपर आवश्यकताएँ देखें)।