अपने ब्राउज़र में LLM एजेंट चलाना
अधिकांश AI असिस्टेंट डेटा सेंटर में स्थित होते हैं। उन्हें एक API key, एक सर्वर की आवश्यकता होती है, और वे प्रति अनुरोध शुल्क लेते हैं।
मैंने कुछ अलग बनाया है।
मैंने LiquidAI LFM2.5 मॉडल्स (230M और 350M) को पूरी तरह से आपके ब्राउज़र में चलाने के लिए fine-tune किया है—बिना किसी सर्वर या क्लाउड लागत के।
लक्ष्य एक ऐसा मॉडल बनाना था जो इतना छोटा हो कि उसे वेब पेज के साथ ही भेजा जा सके।
मॉडल विशिष्ट उत्पादों के बारे में तथ्य संग्रहीत नहीं करता है; यह पैटर्न सीखता है। एक छोटा सा मॉडल बिना दोबारा ट्रेनिंग के कॉफी शॉप, ग्रोसरी स्टोर या किसी अन्य दुकान को चला सकता है।
मॉडल क्या करता है
- किसी कार्य के लिए सही टूल चुनता है
- आर्ग्युमेंट्स (arguments) और आइटम आईडी (item IDs) को सही ढंग से जोड़ता है
- “दूसरा वाला” या “एक दर्जन” जैसे संदर्भों को समझता है
- प्रश्नों के उत्तर देने के लिए रिट्रीव किए गए टेक्स्ट का उपयोग करता है
- जानकारी गायब होने पर मना कर देता है
- बातचीत विषय से भटकने पर उसे वापस पटरी पर लाता है
मैंने इसे कैसे बनाया
- आठ टूल्स (search, add_to_cart, checkout, आदि) के एक सेट को फ्रीज (frozen) किया
- RAG को एक अलग पाइपलाइन के बजाय एक टूल के रूप में माना
- सटीकता के लिए grammar-constrained decoding लागू किया
- 18 इंटरैक्शन रेसिपीज़ से एक सिंथेटिक डेटासेट बनाया
- एक सिंगल 16 GB GPU का उपयोग करके 30M टोकन पर fine-tune किया
ट्रेनिंग का फोकस मैंने मॉडल को ब्लॉकलिस्ट के बजाय व्यवहार (behaviors) पर प्रशिक्षित किया। शब्दों को प्रतिबंधित करने के बजाय, मैंने इसे विनम्रता से बातचीत को दिशा देने के लिए सिखाया।
यह क्यों महत्वपूर्ण है
- प्राइवेसी: आपका डेटा आपके डिवाइस से कभी बाहर नहीं जाता
- ऑफलाइन उपयोग: यह बिना इंटरनेट कनेक्शन के काम करता है
- लागत: शून्य इन्फरेंस (inference) बिल
- एक्सेसिबिलिटी: यह जटिल UIs को आवाज़ के माध्यम से नेविगेट करने योग्य बनाता है
मॉडल छोटा है, लेकिन उपयोगी है। यह पूछना बंद करें कि क्या विशाल मॉडल कार्य कर सकते हैं। यह पूछें कि किसी डिवाइस पर मददगार बने रहते हुए एक मॉडल कितना छोटा हो सकता है।
Demo: https://lajosbencz.github.io/frontend-agent/ Code: https://github.com/lajosbencz/frontend-agent/ Source: https://dev.to/lajosbencz/running-an-llm-agent-entirely-in-your-browser-5foe
Lajos Bencz ने 350-मिलियन-पैरामीटर वाले लैंग्वेज मॉडल को पूरी तरह से वेब ब्राउज़र में चलाने के लिए fine-tune किया है, जिससे एक स्थिर पेज एक स्वायत्त (autonomous) शॉपिंग असिस्टेंट में बदल जाता है जिसे किसी API key, सर्वर या क्लाउड-आधारित इन्फरेंस लागत की आवश्यकता नहीं होती है। इसका परिणाम एक प्राइवेसी-फर्स्ट, ऑफलाइन-सक्षम AI है जो प्रत्येक डोमेन के लिए दोबारा ट्रेनिंग किए बिना कॉफी शॉप, ग्रोसरी स्टोर या किसी भी समान कैटलॉग को प्रबंधित कर सकता है।
ब्राउज़र में LLM क्यों चलाएं
अधिकांश AI असिस्टेंट डेटा सेंटरों में रहते हैं। प्रत्येक क्वेरी इंटरनेट के माध्यम से यात्रा करती है, एक API तक पहुँचती है, और प्रति-अनुरोध शुल्क लेती है। यह सेटअप यूजर डेटा लीक करता है, नेटवर्क की आवश्यकता होती है, और बिल में तेज़ी से जुड़ता जाता है। मॉडल को क्लाइंट पर ले जाने से ये समस्याएँ समाप्त हो जाती हैं। डेटा स्थानीय मशीन पर रहता है, नेटवर्क डाउन होने पर भी असिस्टेंट काम करता है, और इन्फरेंस लागत शून्य हो जाती है।
मॉडल कैसे बनाया गया
- मॉडल का चुनाव – LiquidAI LFM2.5, 230M और 350M वेरिएंट्स के साथ शुरुआत की। इनका आकार एक सामान्य वेब पेज को इन्हें डाउनलोड करने की अनुमति देता है।
- टूल सेट – एजेंट में आठ यूटिलिटीज (search, add_to_cart, checkout, आदि) को हार्ड-कोड किया गया। मॉडल सीखता है कि किस टूल को कॉल करना है और आइटम आईडी जैसे आर्ग्युमेंट्स को कैसे पास करना है।
- टूल के रूप में RAG – Retrieval-Augmented Generation को बस एक और कॉल करने योग्य टूल के रूप में माना, जिससे आर्किटेक्चर सरल हो गया।
- Grammar-constrained decoding – डिकोडर को वैध टूल-कॉल सिंटैक्स तक सीमित रखा, जिससे गलत आउटपुट में भारी कमी आई।
- सिंथेटिक डेटा – 18 इंटरैक्शन रेसिपीज़ (जैसे, “add two dozen donuts”) को एक सिंगल 16 GB GPU पर जनरेट किए गए 30M-टोकन डेटासेट में बदल दिया।
- व्यवहार-केंद्रित ट्रेनिंग – ब्लॉकलिस्ट के बजाय, फाइन-ट्यूनिंग ने बातचीत को दिशा देने (conversational steering) पर जोर दिया: विषय से हटकर की गई बातों को विनम्रता से वापस मोड़ना, जानकारी गायब होने पर मना करना, और “the second one” जैसे अस्पष्ट संदर्भों की पुष्टि करना।
फाइन-ट्यूनिंग एक सिंगल 16 GB GPU पर चली।
एजेंट क्या कर सकता है
- टूल चयन – तय करता है कि किसी क्वेरी को सर्च, कार्ट अपडेट या किसी अन्य फंक्शन की आवश्यकता है या नहीं।
- आर्ग्युमेंट हैंडलिंग – आइटम आइडेंटिफायर, मात्रा और क्वालीफायर (जैसे, “a dozen”) को पार्स करता है और उन्हें सही ढंग से पास करता है।
- संदर्भ समाधान (Reference resolution) – “the second one” जैसे वाक्यांशों को रिट्रीव की गई सूची में उपयुक्त आइटम से जोड़ता है।
- RAG-संचालित उत्तर – प्रासंगिक टेक्स्ट प्राप्त करता है और उसे उत्तरों में पिरोता है।
- विनम्रता से इनकार – हैलुसिनेशन (hallucinating) करने के बजाय, आवश्यक जानकारी अनुपस्थित होने पर मना कर देता है।
- बातचीत को दिशा देना – प्रवाह को तोड़े बिना विषय से हटकर की गई टिप्पणियों को वापस कार्य की ओर मोड़ता है।
एक लाइव डेमो (https://lajosbencz.github.io/frontend-agent/) एजेंट को ब्राउज़िंग से लेकर चेकआउट तक, वॉइस या टेक्स्ट इनपुट के साथ एक सरल ई-कॉमर्स फ्लो को संभालते हुए दिखाता है।
सीमाएं और प्रति-तर्क
(अनुभाग जानबूझकर खाली छोड़ा गया है)
आगे क्या देखें
कोडबेस (https://github.com/lajosbencz/frontend-agent) खुला है, जो समुदाय को टूल्स जोड़ने, सिंथेटिक रेसिपीज़ का विस्तार करने या हाइब्रिड दृष्टिकोणों को आज़माने के लिए आमंत्रित करता है।
मुख्य बात: एक मध्यम आकार के LLM को एक स्व-निहित एजेंट के रूप में फाइन-ट्यून करना, एक वेब पेज में सीधे कार्यात्मक और गोपनीयता-संरक्षण करने वाले AI को एम्बेड करना संभव बनाता है—बिना किसी सर्वर, बिना किसी शुल्क के, और बिना उपयोगकर्ता के डिवाइस से डेटा बाहर भेजे।
