TypeScript में Bash कमांड्स? (यह कमाल है)

BBetter Stack
Computing/SoftwareSmall Business/StartupsInternet Technology

Transcript

00:00:00अपने AI एजेंट्स को और अधिक शक्तिशाली बनाने के सबसे सरल तरीकों में से एक है उन्हें
00:00:03bash का एक्सेस देना, लेकिन यह थोड़ा जटिल हो सकता है। आपको एक असली शेल, एक फाइल सिस्टम,
00:00:09सर्वर और कंटेनर, और कुल मिलाकर बहुत सारे इंफ्रास्ट्रक्चर की ज़रूरत होती है, या कम से कम पहले होती थी।
00:00:13लेकिन क्या होगा अगर मैं आपसे कहूँ कि इसका एक आसान तरीका है? आप वास्तव में bash के एक Typescript इम्प्लीमेंटेशन
00:00:18का उपयोग कर सकते हैं। अब मुझे पता है कि यह सुनने में थोड़ा अजीब लग सकता है, लेकिन मेरा विश्वास करें यह बहुत शानदार है
00:00:22और यह आपके पैसे भी बचा सकता है। चलिए मैं आपको दिखाता हूँ कैसे।
00:00:30यह एक नया पैकेज है जिसे “justbash” कहा जाता है और आप इसकी README फ़ाइल पर देख सकते हैं कि यह कहता है “Typescript में लिखा गया
00:00:34इन-मेमोरी वर्चुअल फ़ाइल सिस्टम के साथ एक सिम्युलेटेड bash एनवायरनमेंट। इसे
00:00:38उन AI एजेंट्स के लिए डिज़ाइन किया गया है जिन्हें एक सुरक्षित, सैंडबॉक्स्ड bash एनवायरनमेंट की आवश्यकता होती है।”
00:00:42लेकिन इससे पहले कि मैं आपको दिखाऊं कि आप अपने AI एजेंट्स को और अधिक क्षमताएं देने के लिए इसे वास्तव में उनसे कैसे जोड़ सकते हैं,
00:00:45मैं बस आपको कुछ बहुत ही सरल कोड दिखाना चाहता हूं ताकि आपको यह समझने में मदद मिले
00:00:48कि यह कैसे काम करता है। यहाँ मैं justbash पैकेज से एक नया bash एनवायरनमेंट शुरू कर रहा हूँ
00:00:53और उसके अंदर हम अपने bash कमांड्स चला सकते हैं। तो हम env.exec कर रहे हैं और यहाँ मैं बस
00:00:57echo hello का bash कमांड चला रहा हूँ और कह रहा हूँ कि मैं इसे greeting.txt नाम की फ़ाइल में सहेजना चाहता हूँ।
00:01:01फिर अगली लाइन पर मैं उसी एनवायरनमेंट में फिर से exec चला रहा हूँ और कह रहा हूँ कि
00:01:06अब मैं उस greeting.txt फ़ाइल को पढ़ना चाहता हूँ। और आप देख सकते हैं कि हमें जो परिणाम मिलता है हम उसके
00:01:10स्टैंडर्ड आउटपुट, एक्जिट कोड और एनवायरनमेंट वेरिएबल्स को असल में लॉग कर सकते हैं
00:01:14और जब मैं इसे चलाता हूँ तो आप देख सकते हैं कि इसने सफलतापूर्वक उस फ़ाइल को लिख दिया है और उसे
00:01:18पढ़ भी लिया है। हमें शून्य का एक्जिट कोड और हमारे सिम्युलेटेड bash शेल में एनवायरनमेंट वेरिएबल्स मिलते हैं।
00:01:22लेकिन यहाँ याद रखने वाली महत्वपूर्ण बात यह है कि जैसा मैंने कहा, यह सिर्फ एक सिम्युलेटेड
00:01:26bash शेल है, यह सचमुच उन bash कमांड्स का Typescript में लिखा गया एक वर्शन है।
00:01:30इसलिए यह वास्तव में किसी असली शेल से जुड़ा नहीं है, यह बस हमारे द्वारा दिए गए कमांड को
00:01:34Typescript में बदल रहा है और उसे चला रहा है। तो greeting.txt नाम की यह फ़ाइल भी
00:01:39किसी भी फ़ाइल सिस्टम पर मौजूद नहीं है, यह वास्तव में एक इन-मेमोरी वर्चुअल फ़ाइल सिस्टम है हालाँकि
00:01:44अगर आप किसी असली फ़ाइल सिस्टम को जोड़ना चाहते हैं तो उसके विकल्प मौजूद हैं। तो यह क्या कर रहा है इसे
00:01:47समझने का एक सरल तरीका यह है कि यह बस exec फ़ंक्शन के अंदर हमारे द्वारा लिखे गए bash कमांड को लेता है
00:01:51और उसे एक Javascript फ़ंक्शन में बदल देता है जिसे वह फिर चलाता है जिसका अर्थ है कि इसे
00:01:55किसी असली शेल की आवश्यकता नहीं है और हम उसे यहाँ इस कोडबेस में देख सकते हैं। जब मैं exec के अंदर echo डालता हूँ
00:01:59तो यह वास्तव में इस Javascript फ़ंक्शन को चला रहा है और हम देख सकते हैं कि इसमें बस उन फ्लैग्स को पार्स करने का लॉजिक है
00:02:03जो bash में echo कमांड के पास होते हैं और उन्हें Javascript में बदलने का,
00:02:08और फिर बस echo के बाद हम जो कुछ भी डालते हैं उसके आउटपुट को प्रिंट करने का और आप
00:02:11यहाँ नीचे देख सकते हैं कि यह बस एक ऑब्जेक्ट लौटाता है जिसमें Javascript स्टैंडर्ड आउटपुट के साथ आउटपुट,
00:02:15स्टैंडर्ड एरर और एक एक्जिट कोड भी होता है। और अगर आप सोच रहे हैं कि यह bash की
00:02:19सभी बुनियादी चीज़ों को नहीं संभाल सकता तो आप वास्तव में यहाँ सभी सपोर्टेड कमांड्स की एक सूची देख सकते हैं
00:02:23और इसमें वास्तव में बहुत सारे कमांड्स हैं जैसे cat, copy, awk,
00:02:27base64, इसमें jq, python 3 और sqlite जैसे डेटा प्रोसेसिंग के लिए एडवांस कमांड्स भी हैं और आप
00:02:33curl का उपयोग करके नेटवर्क रिक्वेस्ट भी चला सकते हैं आप असल में एक व्हाइटलिस्ट सेट करते हैं ताकि यह वास्तव में
00:02:36सुरक्षित रहे और यहाँ नीचे शेल फीचर्स भी हैं जैसे इसमें पाइप्स, रिडायरेक्शन, कमांड चेनिंग
00:02:41सब कुछ है यह वास्तव में आपको वह सब कुछ देता है जो एक बेसिक bash शेल देता है। तो आप देख सकते हैं
00:02:45कि यह पैकेज वास्तव में बहुत अच्छा है और इसमें बहुत सारी कार्यक्षमता है लेकिन आप शायद अभी भी
00:02:48सोच रहे होंगे कि आपको Typescript में bash इम्प्लीमेंटेशन की आवश्यकता क्यों होगी और यह आपके एजेंट्स की मदद कैसे कर सकता है
00:02:53और आपके पैसे कैसे बचा सकता है। खैर इसका उत्तर देने के लिए मैं आपको एक बहुत ही सरल चैट ऐप के साथ इसका एक उपयोग दिखाता हूँ।
00:02:57अब मान लीजिए कि इस चैट ऐप में मैं इस JSON फ़ाइल के बारे में बात करना चाहता हूँ इसमें
00:03:02बहुत सारे रिकॉर्ड्स हैं और मान लीजिए कि मैं AI से इसमें से कुछ विशेष जानकारी निकालने के लिए या
00:03:06शायद इनमें से कुछ फ़ील्ड्स पर कुछ एनालिसिस करने के लिए कहना चाहता हूँ आप देख सकते हैं कि
00:03:11यह एक बहुत बड़ी फ़ाइल है ऐसा करने के सबसे सरल लेकिन निश्चित रूप से गलत तरीकों में से एक यह है
00:03:15कि आप पूरी फ़ाइल का कंटेंट लें और उसे प्रॉम्प्ट के अंदर डाल दें आप यहाँ देख सकते हैं
00:03:19कि मैं AI SDK और GPT 5.2 का उपयोग कर रहा हूँ। अगर हम वास्तव में इस एजेंट को चलाते हैं और
00:03:24इसे एक विशिष्ट रिकॉर्ड लाने के लिए कहते हैं तो आप देख सकते हैं कि असिस्टेंट जवाब देने वाला है और मैं
00:03:28पुष्टि कर सकता हूँ कि यह सही है क्योंकि ये बड़े मॉडल्स अपने बड़े कॉन्टेक्स्ट से वैल्यूज निकालने में काफी अच्छे होते हैं
00:03:33लेकिन समस्या यह है कि इसमें 133,000 टोकन्स का उपयोग हुआ और अगर आप इससे कुछ और एडवांस सवाल पूछते हैं
00:03:39शायद आप डेटा मैनिपुलेशन करना चाहते हैं या कुछ विशिष्ट रेंजों के डेटा के बारे में पूछना चाहते हैं तो यह विफल होने लगेगा।
00:03:43जैसा कि मैंने कहा हालांकि वह स्पष्ट रूप से चीजों को करने का गलत तरीका है इसलिए अगला तरीका जिसे
00:03:48आपने पहले आजमाया होगा वह शायद कोई RAG तरीका है या एजेंट को सैंडबॉक्स देना ताकि वह
00:03:51bash कमांड चला सके और उस तरह से डेटा को मैनिपुलेट कर सके लेकिन उन तरीकों के साथ समस्या यह है कि
00:03:56आपको बहुत सारे इंफ्रास्ट्रक्चर की आवश्यकता होने लगती है इसलिए इसके बजाय चलिए इसे बस bash के साथ सिम्युलेट करते हैं।
00:04:00AI SDK के साथ ऐसा करने के लिए आप वास्तव में bash टूल पैकेज का उपयोग कर सकते हैं जो justbash के ऊपर बनाया गया है
00:04:05और यह हमें क्या करने की अनुमति देता है कि चैट के लिए हमारे API एंडपॉइंट में हम एक नया bash टूल बना सकते हैं
00:04:09और कोई भी फ़ाइल पास कर सकते हैं जिसे हम अपने सिम्युलेटेड bash एनवायरनमेंट में रखना चाहते हैं
00:04:13तो मेरे मामले में मैं उस JSON फ़ाइल को पास कर रहा हूँ जो हमारे पास पहले थी, वह वास्तव में बड़ी वाली फ़ाइल,
00:04:17फिर मैं डेस्टिनेशन भी सेट कर रहा हूँ कि ये फ़ाइलें कहाँ जाने वाली हैं तो यह
00:04:21सिम्युलेटेड /workspace डायरेक्टरी में जाने वाली हैं। उसके बाद हमें अपने AI SDK से मिलने वाली स्ट्रीम में
00:04:26बस इतना करना है कि इसे हमारे पास मौजूद bash टूल से पास करना है तो वह सिर्फ bash tool dot bash है
00:04:31और मैंने इसे कुछ एजेंट निर्देश भी दिए हैं जो आपको नोड मॉड्यूल फ़ोल्डर में मिल सकते हैं ये
00:04:34बस वे निर्देश हैं जो पैकेज ने प्रदान किए हैं जो आपके AI एजेंट को यह समझने में मदद कर सकते हैं कि
00:04:39bash टूल का उपयोग कैसे करना है अब उस बहुत ही सरल सेटअप के साथ अगर हम असिस्टेंट से वही सवाल पूछते हैं
00:04:42कि वह उस JSON फ़ाइल से हमें जानकारी का एक हिस्सा लाकर दे तो अपने स्वयं के कॉन्टेक्स्ट का उपयोग करने
00:04:46और ढेर में से सुई ढूँढने की कोशिश करने के बजाय आप देख सकते हैं कि यह वास्तव में जाता है और
00:04:50कुछ bash कमांड्स चलाता है लेकिन फिर से यह हमारे सिम्युलेटेड Typescript एनवायरनमेंट में है।
00:04:54इस मामले में इसने एक jq कमांड चलाने की कोशिश की लेकिन ऐसा लगता है कि इसे एक एरर मिला इसलिए
00:04:58आगे इसने एक head bash कमांड चलाया ताकि हम देख सकें कि यह फ़ाइल वास्तव में कैसी दिखती थी और इस तरह
00:05:02इसे सही फॉर्मेट मिल गया, jq कमांड चलाया और हमें अपना उत्तर दिया तो हाँ हालाँकि हमें
00:05:06इससे बिल्कुल वही उत्तर मिला और शायद इसमें थोड़ा अधिक समय लगा लेकिन यहाँ मुख्य बात यह है
00:05:10कि आप वास्तव में देख सकते हैं कि इसमें 6,000 इनपुट टोकन लगे जबकि दूसरे तरीके में
00:05:15133,000 लगे थे। लॉन्ग कॉन्टेक्स्ट को संभालने के लिए यह बस एक बहुत बेहतर तरीका है और
00:05:19यह इसका इकलौता फायदा नहीं है। यह तब और भी शक्तिशाली हो जाता है जब आप अपने डेटा के बारे में
00:05:24अधिक गहरे सवाल पूछना शुरू करते हैं उदाहरण के लिए अगर मैं इससे पूछता हूँ कि 1,000 और 2,500 के बीच कितने रिकॉर्ड्स में
00:05:28metadata.active true है तो आप देख सकते हैं कि यह बस जाकर एक bash कमांड चला सकता है और हमें तुरंत जवाब दे सकता है।
00:05:33अगर आपने वास्तव में इसे दूसरे वर्शन में आज़माया होता तो ए) यह बहुत अधिक कॉन्टेक्स्ट लेता और
00:05:37बी) यह शायद अंदाज़ा लगाकर आपको गलत जवाब देता। यह कहीं अधिक सटीक होने वाला है क्योंकि
00:05:41आप अनिवार्य रूप से एजेंट से कह रहे हैं कि अरे तुम्हारे पास bash शेल का पूरा एक्सेस है भले ही
00:05:45तकनीकी रूप से इसके पास नहीं है। यह ईमानदारी से बस एक बहुत ही सरल और मुफ़्त वैल्यू एडिशन है जो आप
00:05:49बिना किसी अतिरिक्त इंफ्रास्ट्रक्चर की आवश्यकता के अपने एजेंट्स को अधिक शक्तिशाली बनाने के लिए प्रदान कर सकते हैं और
00:05:53यही मुझे इसके बारे में बहुत पसंद है। उम्मीद है कि मैंने इसके उपयोग के सिर्फ एक उदाहरण को प्रदर्शित किया है लेकिन
00:05:57मुझ पर विश्वास करें और भी बहुत कुछ है जैसा कि हमने पहले देखा था आप यहाँ बेसिक python, sql और curl
00:06:01कमांड्स भी चला सकते हैं और अगर आप चाहें तो इसे वास्तव में एक असली फ़ाइल सिस्टम से जोड़ सकते हैं।
00:06:05मुझे नीचे कमेंट्स में बताएं कि आप justbash के बारे में क्या सोचते हैं और जब आप वहाँ हों तो
00:06:10सब्सक्राइब करें और हमेशा की तरह आपसे अगले वीडियो में मिलते हैं।
00:06:14system let me know what you think of just bash in the comments below while you're there subscribe
00:06:18and as always see you in the next one

Key Takeaway

JustBash का उपयोग करके AI एजेंट्स को बिना किसी भारी इंफ्रास्ट्रक्चर के एक सुरक्षित और कुशल TypeScript-आधारित Bash शेल दिया जा सकता है, जो टोकन खर्च को कम करता है और सटीकता बढ़ाता है।

Highlights

JustBash एक नया पैकेज है जो TypeScript में लिखे गए सिम्युलेटेड Bash एनवायरनमेंट की सुविधा देता है।

यह इन-मेमोरी वर्चुअल फ़ाइल सिस्टम का उपयोग करता है, जिससे वास्तविक इंफ्रास्ट्रक्चर की ज़रूरत नहीं पड़ती।

इसमें cat, copy, jq, python 3 और sqlite जैसे उन्नत कमांड्स और नेटवर्किंग के लिए curl का सपोर्ट है।

AI एजेंट्स के लिए यह एक सुरक्षित सैंडबॉक्स प्रदान करता है, जिससे वे डेटा मैनिपुलेशन और एनालिसिस कर सकते हैं।

यह तरीका लॉन्ग कॉन्टेक्स्ट वाली फाइलों के लिए टोकन की खपत को काफी कम कर देता है (133k से 6k टोकन)।

यह पूरी तरह से मुफ़्त है और बिना किसी अतिरिक्त लागत के एजेंट्स को अधिक सटीक और शक्तिशाली बनाता है।

Timeline

TypeScript में Bash का परिचय

वीडियो की शुरुआत AI एजेंट्स को Bash एक्सेस देने की चुनौतियों से होती है, जिसके लिए आमतौर पर जटिल इंफ्रास्ट्रक्चर की आवश्यकता होती है। वक्ता 'JustBash' नामक एक नए समाधान का परिचय देता है जो पूरी तरह से TypeScript में लिखा गया है। यह एक इन-मेमोरी वर्चुअल फ़ाइल सिस्टम के साथ एक सिम्युलेटेड एनवायरनमेंट प्रदान करता है। कोड के उदाहरण के माध्यम से दिखाया गया है कि कैसे यह फ़ाइलें लिख सकता है और 'greeting.txt' जैसी फ़ाइलों को पढ़ सकता है। यह सेक्शन यह स्पष्ट करता है कि यह एक सैंडबॉक्स्ड वातावरण है जो डेवलपर्स के लिए काम को सरल बनाता है।

यह कैसे काम करता है: सिमुलेशन बनाम असली शेल

यहाँ वक्ता विस्तार से बताता है कि JustBash वास्तव में किसी असली शेल से जुड़ा नहीं है, बल्कि यह Bash कमांड्स का JavaScript में अनुवाद करता है। उदाहरण के लिए, जब 'echo' कमांड चलाया जाता है, तो यह बैकएंड में एक JavaScript फ़ंक्शन को ट्रिगर करता है जो फ्लैग्स को पार्स करता है। इसमें पाइप्स, रिडायरेक्शन और कमांड चेनिंग जैसे बुनियादी शेल फीचर्स का पूर्ण समर्थन है। इसके अलावा, इसमें डेटा प्रोसेसिंग के लिए jq और sqlite जैसे शक्तिशाली टूल्स भी शामिल हैं। यह खंड सुरक्षा के महत्व और व्हाइटलिस्टिंग के माध्यम से सुरक्षित नेटवर्क एक्सेस पर भी चर्चा करता है।

टोकन की बचत और AI एजेंट उपयोग

वक्ता एक चैट एप्लिकेशन का उदाहरण देता है जहाँ एक बड़ी JSON फ़ाइल से जानकारी निकालनी होती है। परंपरागत तरीके में पूरी फ़ाइल को प्रॉम्प्ट में डालने से 133,000 टोकन खर्च होते हैं, जो बहुत महंगा और त्रुटिपूर्ण है। इसके विकल्प के रूप में RAG या बाहरी सैंडबॉक्स का उपयोग करना कठिन हो सकता है। यहीं JustBash की उपयोगिता सामने आती है क्योंकि यह सीधे डेटा को मैनिपुलेट करने की अनुमति देता है। यह अनुभाग समझाता है कि क्यों भारी कॉन्टेक्स्ट के बजाय कोड निष्पादन अधिक कुशल तरीका है। यह समस्या के समाधान के रूप में इंफ्रास्ट्रक्चर की कमी को उजागर करता है।

व्यावहारिक प्रदर्शन और परिणाम

इस भाग में bash-tool पैकेज का उपयोग करके AI SDK के साथ वास्तविक एकीकरण दिखाया गया है। AI एजेंट बड़ी फ़ाइलों को पढ़ने के लिए 'head' और 'jq' जैसे कमांड्स चलाता है ताकि सही डेटा फॉर्मेट समझा जा सके। परिणाम आश्चर्यजनक हैं क्योंकि वही उत्तर केवल 6,000 इनपुट टोकन के साथ प्राप्त किया जाता है। यह विधि न केवल सस्ती है, बल्कि बड़े मॉडल्स के लिए 'ढेर में सुई ढूंढने' जैसा काम आसान बना देती है। यह तुलनात्मक डेटा दिखाता है कि कैसे सिम्युलेटेड शेल प्रदर्शन में सुधार करता है।

निष्कर्ष और अतिरिक्त क्षमताएं

अंतिम भाग में जटिल सवालों जैसे मेटाडेटा फ़िल्टरिंग के लिए Bash की सटीकता पर ज़ोर दिया गया है, जहाँ साधारण AI अंदाज़ा लगा सकता है। वक्ता दोहराता है कि यह टूल पूरी तरह से मुफ़्त है और इसमें किसी अतिरिक्त सर्वर की ज़रूरत नहीं होती। इसमें Python और SQL कमांड चलाने की क्षमता भी है, जो इसे बहुमुखी बनाती है। यूज़र्स को इसे आज़माने और अपनी राय कमेंट्स में साझा करने के लिए प्रोत्साहित किया जाता है। वीडियो का समापन सब्सक्राइब करने के अनुरोध और भविष्य के अपडेट के वादे के साथ होता है।

Community Posts

View all posts