Transcript
00:00:00हमारा लोकल मॉडल सेटअप बहुत अच्छा काम करता है, जब तक हमें किसी दूसरे मॉडल की ज़रूरत नहीं पड़ती।
00:00:04अब हम लामा सर्वर को बंद कर रहे हैं, पोर्ट्स बदल रहे हैं, अपना OpenAI बेस URL अपडेट कर रहे हैं,
00:00:10रीलोड का इंतज़ार कर रहे हैं, और बस उम्मीद कर रहे हैं कि कुछ गड़बड़ न हो।
00:00:13यह सब इसलिए क्योंकि हमारा कोडिंग मॉडल क्विक चैट के लिए बहुत बड़ा है, और आपका छोटा मॉडल
00:00:18असली कोड के लिए बहुत कमज़ोर है।
00:00:19LlamaSwap इसे ठीक करता है।
00:00:21एक एंडपॉइंट, कई मॉडल्स, ऑटोमैटिक स्वैपिंग, और आपके टूल्स को पता भी नहीं चलेगा कि कुछ बदला है।
00:00:26मैं आपको अगले कुछ मिनटों में दिखाऊंगा कि इसे कैसे सेटअप करना है।
00:00:34ज़्यादातर लोकल LLM डेवलपर्स आखिरकार इसी दीवार से टकराते हैं।
00:00:37पहले आप कुछ सुविधाजनक इस्तेमाल करते हैं, जैसे लामा, lmstudio, कुछ ऐसा जो बस काम करे।
00:00:44क्योंकि वह करता है।
00:00:45और सच में यह बढ़िया है, क्योंकि वे काफी बेहतर हो गए हैं।
00:00:48लेकिन फिर हम और ज़्यादा कंट्रोल चाहने लगते हैं।
00:00:51आप सटीक लामा CPP फ्लैग्स, GPU लेयर प्लेसमेंट, शायद कॉन्टेक्स्ट साइज़, कस्टम बैकएंड्स, या
00:00:59एक्सपेरिमेंटल मॉडल्स भी चाहते हैं।
00:01:01तो आप रॉ लामा सर्वर के करीब जाते हैं, और वह बहुत अच्छा लगता है।
00:01:06जब तक आपको अहसास नहीं होता कि आपने बस एक समस्या को दूसरी से बदल लिया है।
00:01:09अब आप यह कर रहे हैं।
00:01:11आप अपना लामा सर्वर बंद कर रहे हैं, फिर QuinCoder शुरू कर रहे हैं, फिर पाँच मिनट बाद, आप
00:01:16क्या कर रहे हैं?
00:01:17आप अपना लामा सर्वर बंद कर रहे हैं।
00:01:18आप इन मॉडल्स के बीच झूल रहे हैं।
00:01:20और हर बार जब आप ऐसा करते हैं, तो कुछ न कुछ रुकता है, फिर से कनेक्ट होता है, फेल होता है, या चुपचाप
00:01:26गलत मॉडल का इस्तेमाल करता है।
00:01:27तो आप असल में जो करने की कोशिश कर रहे हैं, वह है सामने एक एंडपॉइंट रखना और
00:01:31उसके पीछे जो भी मॉडल चाहें उन्हें स्वैप करना।
00:01:33यह वही कमी है जिसे लामा स्वैप (LlamaSwap) पूरा करता है।
00:01:36अगर आपको ऐसे कोडिंग टूल्स पसंद हैं जो आपके वर्कफ़्लो को तेज़ करते हैं, तो सब्सक्राइब ज़रूर करें।
00:01:39हमारे वीडियो हर समय आते रहते हैं।
00:01:41अब इसके बारे में बात करने से पहले, मैं आपको दिखाता हूँ कि यह सब कैसे काम करता है।
00:01:44अभी लामा स्वैप एक पोर्ट पर लोकली चल रहा है।
00:01:48मेरे क्लाइंट को केवल यह बेस URL पता है, न कि Quin के लिए अलग URL, स्मॉल LM के लिए अलग,
00:01:55एंबेडिंग्स के लिए अलग URL, बस एक ही मुख्य द्वार।
00:01:58यहाँ दो मॉडल्स के साथ एक छोटा सा कॉन्फ़िग है।
00:02:02तो एक QuinCoder है, दूसरा small LM2 है।
00:02:06और हर एक की अपनी कमांड है।
00:02:09हर एक की अपनी मॉडल फाइल है।
00:02:11हर एक का अपना कॉन्टेक्स्ट साइज़ है।
00:02:14और इन दोनों के बीच का अंतर यह है कि इनमें से हर एक का अपना TTL भी है।
00:02:19अब मैं कोडिंग मॉडल से कुछ पूछूँगा।
00:02:22मैं एक सामान्य OpenAI स्टाइल चैट रिक्वेस्ट भेजता हूँ।
00:02:25मॉडल फ़ील्ड कहता है QuinCoder, ठीक है, बहुत बढ़िया।
00:02:30चलिए लॉग्स देखते हैं।
00:02:32यह तब तक इंतज़ार करता है जब तक बैकएंड चालू न हो जाए, फिर रिक्वेस्ट आगे भेज देता है।
00:02:36अब यहाँ वह चीज़ है जो नहीं हो रही है।
00:02:39मैं URL नहीं बदल रहा हूँ।
00:02:41मैं ओपन वेब UI को रीस्टार्ट नहीं कर रहा हूँ।
00:02:43मैं कर्सर (Cursor) में इसे एडिट नहीं कर रहा हूँ।
00:02:46मैं सिर्फ एक फ़ील्ड बदल रहा हूँ।
00:02:48तो मॉडल QuinCoder से small LM2 पर चला जाता है, वही एंडपॉइंट, वही क्लाइंट, अलग मॉडल।
00:02:55और जब मॉडल इस TTL से ज़्यादा समय तक खाली बैठा रहता है, तो लामा स्वैप उसे अनलोड कर सकता है
00:02:59ताकि आपकी VRAM वापस आ जाए।
00:03:00यही पूरी तरकीब है।
00:03:02आपके टूल्स को लगता है कि वे एक ही API से बात कर रहे हैं।
00:03:04लामा स्वैप पर्दे के पीछे की सारी उलझनों को संभालता है ताकि चीज़ों पर असल कंट्रोल रहे।
00:03:09ठीक है, बहुत बढ़िया।
00:03:10तो लामा स्वैप क्या है?
00:03:11मैंने यहाँ डेमो दिया ही है, है ना?
00:03:12इसे अपने लोकल मॉडल्स के लिए एक हब की तरह समझें।
00:03:13आपके ऐप्स सीधे हर मॉडल सर्वर से बात नहीं करते।
00:03:16वे लामा स्वैप से बात करते हैं।
00:03:19फिर लामा स्वैप मॉडल फ़ील्ड को देखता है और तय करता है कि क्या होना चाहिए।
00:03:21अगर मॉडल पहले से चल रहा है, तो वह रिक्वेस्ट को आगे बढ़ा देगा।
00:03:25अगर मॉडल नहीं चल रहा है, तो वह उसे शुरू करेगा।
00:03:28अगर किसी दूसरे मॉडल को हटने की ज़रूरत है, तो वह उसे रोक देगा।
00:03:31फिर आपके क्लाइंट को एक सामान्य रिस्पॉन्स मिलता है।
00:03:35तो हर 10 मिनट में बेस URL बदलने की ज़रूरत नहीं है।
00:03:38इसमें एक बाइनरी, एक कॉन्फ़िग फ़ाइल और एक स्थिर API एंडपॉइंट है।
00:03:41इसमें एक बाइनरी, एक कॉन्फिग फाइल और एक स्थिर API एंडपॉइंट है।
00:03:45यह OpenAI और Anthropic कम्पैटिबल APIs के लिए प्रॉक्सी के रूप में काम करता है और यह
00:03:48llama cpp, vllm, tabby API जैसे बैकएंड्स के सामने बैठ सकता है।
00:03:53किस्मत से आपके पास डिस्क पर 10 या 20 मॉडल्स हो सकते हैं, लेकिन VRAM केवल
00:03:59एक या दो को ही लोड रखने के लिए काफी होती है।
00:04:05TTL इसमें मदद करता है।
00:04:06अगर कोई मॉडल काफी समय तक खाली रहता है, तो लामा स्वैप उसे अनलोड कर सकता है।
00:04:08तो आपकी GPU एक ऐसे मॉडल को पकड़ कर नहीं बैठी रहती जिसे हम असल में इस्तेमाल नहीं कर रहे,
00:04:11बल्कि वह अगली रिक्वेस्ट के लिए मेमोरी खाली कर सकती है।
00:04:17पहले आपको याद रखना पड़ता था कि क्या चल रहा है।
00:04:20अब कॉन्फ़िग आपके लिए यह याद रखता है।
00:04:23इस मोड़ पर साफ़ सा सवाल है कि सिर्फ लामा या LM Studios या सीधा लामा सर्वर ही क्यों न इस्तेमाल करें?
00:04:25और जवाब है, खैर, शायद आप ऐसा करें।
00:04:31लामा स्वैप हर बार इन्हें रिप्लेस नहीं करता।
00:04:32यह एक बहुत ही खास समस्या का समाधान करता है।
00:04:35लामा (Ollama) की तुलना में, लामा स्वैप कोई मॉडल स्टोर, डाउनलोडर या बिगिनर फ्रेंडली CLI नहीं है।
00:04:37यहाँ वह मकसद नहीं है।
00:04:40मकसद है कंट्रोल।
00:04:47आप अपनी खुद की लामा cpp बिल्ड्स लाते हैं, अपने फ्लैग्स लाते हैं, आप तय करते हैं कि
00:04:49हर मॉडल कैसे लॉन्च होगा।
00:04:50LM Studio की तुलना में लामा स्वैप ज़्यादा सर्वर-फर्स्ट है, इसमें GUI की ज़रूरत नहीं है।
00:04:55यह एक देव बॉक्स, होम लैब सर्वर, डॉकर (Docker) या शेयर्ड मशीन में बेहतर फिट बैठता है
00:04:57जहाँ टूल्स को बस एक स्थिर API चाहिए।
00:05:02यह 'ollama run llama 3' जितना आसान नहीं है।
00:05:07आपको अपनी मॉडल फाइलों की ज़रूरत है।
00:05:09आपको अपने बैकएंड को समझना होगा।
00:05:13आपको YAML लिखना होगा।
00:05:15आपको पता होना चाहिए कि कौन से फ्लैग्स आपके GPU के लिए सही हैं।
00:05:17इसमें कोई इन-बिल्ट मॉडल गैलरी नहीं है जो सब कुछ डाउनलोड और कॉन्फ़िगर कर दे।
00:05:19तो सच कहूँ तो, सेटअप करना काफी सिरदर्द है।
00:05:22लेकिन कुछ डेवलपर्स के लिए, यह एक बहुत ही खास परेशानी को हल करता है।
00:05:26वह परेशानी यह कि आप जानते हैं आपको कौन सा मॉडल चाहिए, लेकिन आप उसके आसपास की
00:05:29वायरिंग को ठीक करने में समय बर्बाद कर रहे हैं।
00:05:32अगर आप कर्सर, कंटिन्यू (Continue), कस्टम एजेंट्स या लोकल स्क्रिप्ट्स जैसे टूल्स इस्तेमाल करते हैं,
00:05:38तो यह आज़माने लायक है।
00:05:39यह उपयोगी साबित होगा, लेकिन इसका सेटअप थोड़ा मुश्किल है।
00:05:44तो यह है लामा स्वैप (LlamaSwap)।
00:05:47एक स्थिर API एंडपॉइंट, उसके पीछे कई लोकल मॉडल्स, ऑटोमैटिक स्वैपिंग, आइडल अनलोड,
00:05:49और पूरा बैकएंड कंट्रोल।
00:05:54यहाँ मुख्य विचार सरल है।
00:05:56आपके क्लाइंट्स को इस बात की चिंता छोड़ देनी चाहिए कि कौन सा मॉडल सर्वर असल में चल रहा है।
00:05:58लामा स्वैप उनके लिए यह सब खुद संभाल लेता है।
00:06:02अगर आपको इस तरह के कोडिंग टूल्स पसंद हैं, तो सब्सक्राइब करना न भूलें।
00:06:04मिलते हैं आपसे किसी और वीडियो में।
00:06:06अलविदा।