স্কিপ করে মূল কন্টেন্ট এ যান
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 আপনার WordPress multisite নেটওয়ার্কে ব্রাউজার-নেটিভ AI inference নিয়ে আসে। এটি WebLLM এবং MLC ইঞ্জিন ব্যবহার করে সম্পূর্ণভাবে ব্রাউজারে বৃহৎ ভাষা মডেল (large language models) চালায় — কোনো API key লাগবে না, বাইরের কোনো কলের প্রয়োজন নেই, এবং কোনো ডেটা ব্যবহারকারীর ডিভাইস ছেড়ে যাবে না।

মূল বৈশিষ্ট্য (Key Features)

  • ব্রাউজার-সাইড inference: WebLLM/MLC এর মাধ্যমে LLM স্থানীয়ভাবে ভিজিটরের ব্রাউজারে চলে — সার্ভারে GPU লাগবে না
  • ফ্লোটিং চ্যাট উইজেট: লগইন করা ব্যবহারকারীরা ফ্রন্ট এন্ড থেকেই ব্রাউজার-সাইড LLM-কে সরাসরি প্রম্পট দিতে পারে
  • অ্যাডমিন-বার স্ট্যাটাস ইন্ডিকেটর: ওয়ার্ডপ্রেস অ্যাডমিন বারে WebLLM ইঞ্জিনের রিয়েল-টাইম স্ট্যাটাস দেখা যায়
  • SharedWorker runtime: একাধিক ব্রাউজার ট্যাব GPU রিসোর্স নিয়ে লড়াই না করে একটি GPU সেশন শেয়ার করে
  • apiFetch middleware: AI Client SDK প্যাটার্ন মেলাতে পারে এমন WordPress REST অনুরোধগুলি স্বচ্ছভাবে স্থানীয় 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)

  1. অ্যাডন ফাইলগুলি আপনার /wp-content/plugins/ ডিরেক্টরিতে আপলোড করুন
  2. ওয়ার্ডপ্রেসের 'Plugins' মেনু থেকে প্লাগইনটি অ্যাক্টিভেট করুন
  3. অ্যাডন কনফিগার করতে Ultimate Multisite → AI Connector এ যান

ফ্লোটিং চ্যাট উইজেট (Floating Chat Widget)

ফ্লোটিং চ্যাট উইজেট যেকোনো লগইন করা ব্যবহারকারীকে তাদের পেজটি ছেড়ে না গিয়ে সরাসরি আপনার ফ্রন্ট এন্ড থেকে ব্রাউজার-সাইড LLM-এর সাথে ইন্টারঅ্যাক্ট করার সুযোগ দেয়।

এটি কী করে (What It Does)

এটি সক্রিয় করা হলে, লগইন করা ব্যবহারকারীদের জন্য প্রতিটি ফ্রন্ট-এন্ড পেজের কোণে একটি চ্যাট আইকন দেখা যায়। আইকনে ক্লিক করলে একটি চ্যাট প্যানেল খোলে যেখানে ব্যবহারকারী প্রম্পট লিখতে এবং স্থানীয়ভাবে চলমান WebLLM মডেল থেকে উত্তর পেতে পারে। যেহেতু মডেলটি সম্পূর্ণভাবে ব্রাউজারে চলে, তাই উত্তরগুলি ব্যক্তিগত এবং কোনো সার্ভার-সাইড প্রক্রিয়াকরণের প্রয়োজন হয় না।

অ্যাডমিন-বার স্ট্যাটাস ইন্ডিকেটর (Admin-Bar Status Indicator)

ওয়ার্ডপ্রেস অ্যাডমিন বারে একটি স্ট্যাটাস ইন্ডিকেটর থাকে যা WebLLM ইঞ্জিনের বর্তমান অবস্থা দেখায়:

StatusMeaning
LoadingMLC ইঞ্জিন ইনিশিয়ালাইজ করছে বা মডেল ওয়েট ডাউনলোড করছে
Readyমডেল লোড হয়েছে এবং inference এর জন্য উপলব্ধ
Idleইঞ্জিন লোড হয়েছে কিন্তু SharedWorker ট্যাবটি সক্রিয় নয়
Errorইঞ্জিন ইনিশিয়ালাইজ করতে ব্যর্থ হয়েছে — বিস্তারিত জানতে ব্রাউজার কনসোল চেক করুন

এই ইন্ডিকেটরটি পেজ রিলোড করার প্রয়োজন ছাড়াই রিয়েল-টাইমে আপডেট হয়।

উইজেট চালু বা বন্ধ করার পদ্ধতি (How to Enable or Disable the Widget)

  1. নেটওয়ার্ক অ্যাডমিনে Ultimate Multisite → AI Connector এ যান
  2. Connector প্যানেলটি খুঁজুন
  3. Enable floating chat widget টগলটি চালু বা বন্ধ করুন
  4. সেটিংস সেভ করুন

যদি নেটওয়ার্ক অ্যাডমিনিস্ট্রেটর সেই ক্ষমতাটি দিয়ে থাকেন, তবে সাইটটির নিজস্ব অ্যাডমিন থেকেও উইজেটটি চালু বা বন্ধ করা যেতে পারে।

উইজেট সেটিংস (Widget Settings)

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

Version 1.1.0 MLC ইঞ্জিনের জন্য একটি SharedWorker রানটাইম নিয়ে আসে। এর আগে, WebLLM ব্যবহার করে এমন প্রতিটি ব্রাউজার ট্যাব মডেলের নিজস্ব ইনস্ট্যান্স লোড করত, যা GPU মেমোরির জন্য প্রতিযোগিতা করত এবং সীমিত VRAM সহ ডিভাইসে পারফরম্যান্স সমস্যা সৃষ্টি করত।

SharedWorker রানটাইম ব্যবহার করে, একটি ট্যাব ইঞ্জিন হোস্ট হিসেবে কাজ করে। অন্যান্য সমস্ত ট্যাব ওয়ার্কারের মেসেজ চ্যানেলের মাধ্যমে সেই একক ইনস্ট্যান্সের সাথে যোগাযোগ করে। ফলাফল:

  • সমস্ত খোলা ট্যাবের জন্য একটি শেয়ার করা GPU সেশন
  • মডেল লোড হওয়ার পরে দ্রুত উত্তর (পুনরাবৃত্ত ইনিশিয়ালাইজেশন নেই)
  • ডিভাইসে কম পিক মেমরি ব্যবহার

SharedWorker ব্যবহারকারীদের কাছে স্বচ্ছ। অ্যাডমিন-বার স্ট্যাটাস ইন্ডিকেটর সর্বদা শেয়ার করা ইঞ্জিনের অবস্থা প্রতিফলিত করে, কোনো একক ট্যাবের নয়।

apiFetch Middleware

অ্যাডনটি একটি apiFetch মিডলওয়্যার ইনস্টল করে যা 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 সমর্থন করে (উপরে প্রয়োজনীয়তা দেখুন)

অ্যাডমিন-বার ইন্ডিকেটর "Error" দেখাচ্ছে

ব্রাউজার ডেভেলপার কনসোল (F12) খুলুন এবং WebLLM-সম্পর্কিত ত্রুটিগুলি দেখুন। সাধারণ কারণগুলি:

  • ব্রাউজারটি WebGPU সমর্থন করে না
  • মডেল ওয়েট ডাউনলোড ব্যর্থ হয়েছে — নেটওয়ার্ক কানেক্টিভিটি পরীক্ষা করুন এবং ব্রাউজার ডেভেলপার টুলস (Application → IndexedDB) থেকে IndexedDB ক্যাশ পরিষ্কার করার চেষ্টা করুন
  • কোনো ব্রাউজার এক্সটেনশন SharedWorker ব্লক করছে

প্রতিবার মডেল ওয়েট ডাউনলোড হচ্ছে

অ্যাডনটি মডেল ওয়েটগুলিকে ক্যাশ ব্যাকএন্ড হিসাবে IndexedDB ব্যবহার করে যাতে CDN রিডাইরেক্ট থেকে মডেল ওয়েটগুলি বেঁচে থাকে। যদি প্রতিবার ভিজিটে ওয়েটগুলি পুনরায় ডাউনলোড হয়, তবে পরীক্ষা করুন যে কোনো ব্রাউজার প্রাইভেসি সেটিংস বা এক্সটেনশন দ্বারা IndexedDB পরিষ্কার করা হচ্ছে কিনা।

Changelog

সম্পূর্ণ ভার্সন ইতিহাসের জন্য Changelog দেখুন।