एजीआई और भविष्य की एआई

मेटागपीटी: वर्तमान में उपलब्ध सर्वश्रेष्ठ एआई एजेंट के लिए पूर्ण गाइड

mm
Unite.AI को Google पर अपने पसंदीदा स्रोतों में जोड़ें

लार्ज लैंग्वेज मॉडल (एलएलएम) जैसे कि चैटजीपीटी के साथ, ओपनएआई ने उद्यम और उपयोगकर्ता अपनाने में वृद्धि देखी है, वर्तमान में लगभग $80 मिलियन की मासिक राजस्व अर्जित कर रही है। द इंफॉर्मेशन की एक हालिया रिपोर्ट के अनुसार, सैन फ्रांसिस्को स्थित कंपनी कथित तौर पर $1 बिलियन के वार्षिक राजस्व तक पहुंचने की गति पर है।

पिछली बार हमने ऑटोजीपीटी और GPT-Engineering पर गहराई से चर्चा की थी, जो खुले स्रोत एलएलएम-आधारित एआई एजेंट हैं जो जटिल कार्यों को स्वचालित करने के लिए डिज़ाइन किए गए हैं। जबकि वे वादाजनक हैं, इन प्रणालियों में अपनी समस्याएं थीं: असंगत परिणाम, प्रदर्शन बोतलनेक, और बहुस्तरीय मांगों को संभालने में सीमाएं। वे कोड जनरेशन में प्रवीणता दिखाते हैं, लेकिन उनकी क्षमताएं अक्सर वहीं रुक जाती हैं। उनमें महत्वपूर्ण परियोजना प्रबंधन कार्यक्षमताएं जैसे कि पीआरडी जनरेशन, तकनीकी डिज़ाइन जनरेशन, और एपीआई इंटरफ़ेस प्रोटोटाइपिंग की कमी है।

MetaGPT का आगमन – एक मल्टी-एजेंट सिस्टम जो सिरुई होंग द्वारा विकसित किया गया है, जो एलएलएम को मानकीकृत ऑपरेटिंग प्रक्रियाओं (एसओपी) के साथ जोड़ता है। यह उभरता हुआ परिदृश्य जटिल, वास्तविक-विश्व अनुप्रयोगों में प्रभावी सहयोग और कार्य विभाजन में एलएलएम की मौजूदा सीमाओं को तोड़ता है।

MetaGPT की सुंदरता इसकी संरचना में निहित है। यह मेटा-प्रोग्रामिंग तकनीकों का लाभ उठाता है ताकि यह कोड को वास्तविक समय में मैनिपुलेट, विश्लेषण, और परिवर्तित कर सके। इसका उद्देश्य एक लचीला और अनुकूलनीय सॉफ्टवेयर आर्किटेक्चर को वास्तविक बनाना है जो गतिशील प्रोग्रामिंग कार्यों के अनुकूल हो सके।

Agile Development - Metagpt
एजाइल विकास

यहाँ मानकीकृत संचालन प्रक्रियाएँ (SOP) एक मेटा-फ़ंक्शन की तरह काम करती हैं। वे एजेंटों के बीच समन्वय स्थापित करती हैं ताकि निर्धारित इनपुट के आधार पर अपने आप कोड तैयार हो सके। सरल शब्दों में, यह सॉफ़्टवेयर इंजीनियरों की एक सुव्यवस्थित टीम को अनुकूलनीय, बुद्धिमान सॉफ़्टवेयर प्रणाली में बदलने जैसा है।

MetaGPT फ़्रेमवर्क को समझना

MetaGPT Framework
MetaGPT फ़्रेमवर्क (शोधपत्र)

आधारभूत और सहयोग परतें

MetaGPT का आर्किटेक्चर दो परतों में विभाजित है: फाउंडेशनल कंपोनेंट्स लेयर और कोलैबोरेशन लेयर।

  1. फाउंडेशनल कंपोनेंट्स लेयर: यह परत व्यक्तिगत एजेंट ऑपरेशन पर केंद्रित है और सिस्टम-व्यापी जानकारी के आदान-प्रदान की सुविधा प्रदान करती है। इसमें कोर बिल्डिंग ब्लॉक्स जैसे कि एनवायरनमेंट, मेमोरी, रोल्स, एक्शन्स, और टूल्स शामिल हैं। एनवायरनमेंट साझा वर्कस्पेस और संचार मार्गों के लिए मंच तैयार करता है, जबकि मेमोरी ऐतिहासिक डेटा आर्काइव के रूप में कार्य करती है। रोल्स डोमेन-विशिष्ट विशेषज्ञता को समाहित करते हैं, एक्शन मॉड्यूलर कार्यों को निष्पादित करते हैं, और टूल्स सामान्य सेवाएं प्रदान करते हैं। यह परत मूल रूप से एजेंटों के लिए ऑपरेटिंग सिस्टम के रूप में कार्य करती है।
  2. कोलैबोरेशन लेयर: फाउंडेशनल कंपोनेंट्स पर निर्मित, यह परत व्यक्तिगत एजेंटों के सहयोगी प्रयासों को प्रबंधित और सुव्यवस्थित करती है। इसमें दो तंत्र शामिल हैं: नॉलेज शेयरिंग और एनकैप्सुलेटिंग वर्कफ्लो।

आधारभूत घटकों के आपसी कार्य को और विस्तार से समझने के लिए Beyond ChatGPT; AI Agent: A New World of Workers लेख देखें।

  • ज्ञान साझा करना: यह एजेंटों को जोड़ने वाली कड़ी है। एजेंट विभिन्न स्तरों पर जानकारी संग्रहीत, प्राप्त और साझा कर सकते हैं। इससे दोहराव घटता है और कार्यकुशलता बढ़ती है।
  • कार्यप्रवाह को व्यवस्थित करना: SOP बड़े कार्यों को प्रबंधनीय भागों में बाँटने का खाका देती हैं। एजेंटों को ये उपकार्य सौंपे जाते हैं और उनके परिणामों को मानकीकृत आउटपुट के अनुरूप रखा जाता है।

MetaGPT उत्पाद प्रबंधक और आर्किटेक्ट जैसे विशेषज्ञ एजेंट बनाने के लिए भूमिका-परिभाषाओं का भी उपयोग करता है। प्रत्येक भूमिका में नाम, प्रोफ़ाइल, लक्ष्य, सीमाएँ और विवरण जैसी विशेषताएँ होती हैं।

A comparative depiction of the software development SOP between MetaGPT and real-world humanteam
MetaGPT और मानवीय टीम की सॉफ़्टवेयर विकास प्रक्रियाओं की तुलना

इसके अलावा, एंकर एजेंट भूमिका के अनुसार मार्गदर्शन देते हैं। उदाहरण के लिए, उत्पाद प्रबंधक की भूमिका में «कुशलता से सफल उत्पाद बनाना» जैसी सीमा निर्धारित की जा सकती है। एंकर एजेंट सुनिश्चित करते हैं कि एजेंटों का व्यवहार व्यापक लक्ष्यों के अनुरूप रहे, जिससे प्रदर्शन बेहतर होता है।

MetaGPT एजेंटों की संज्ञानात्मक प्रक्रियाएँ

MetaGPT निरीक्षण कर सकता है, सोच सकता है, चिंतन कर सकता है और कार्रवाई कर सकता है। इसके एजेंट _think(), _observe() और _publish_message() जैसे व्यवहार-संबंधी फ़ंक्शन का उपयोग करते हैं। इससे वे सक्रिय रूप से सीखने और परिस्थितियों के अनुसार ढलने में सक्षम होते हैं।

  • निरीक्षण: एजेंट परिवेश को देखते हैं और महत्वपूर्ण जानकारी अपनी मेमोरी में जोड़ते हैं।
  • सोचना और चिंतन: भूमिका कोई कार्रवाई करने से पहले _think() के माध्यम से विचार करती है।
  • संदेश प्रसारित करना: एजेंट _publish_message() से वर्तमान कार्य की स्थिति और संबंधित कार्रवाई के रिकॉर्ड साझा करते हैं।
  • ज्ञान संचित करना और कार्रवाई: एजेंट प्राप्त संदेशों का आकलन करके अपनी आंतरिक जानकारी अद्यतन करते हैं, फिर अगली कार्रवाई तय करते हैं।
  • स्थिति प्रबंधन: कार्य लॉक करने और स्थिति अद्यतन करने जैसी सुविधाएँ भूमिकाओं को बिना व्यवधान के क्रमवार कई कार्रवाइयाँ करने देती हैं, जैसा वास्तविक मानवीय सहयोग में होता है।

MetaGPT के लिए कोड-रिव्यू मैकेनिज्म

कोड रिव्यू सॉफ्टवेयर डेवलपमेंट लाइफ साइकल में एक महत्वपूर्ण घटक है, लेकिन यह कई लोकप्रिय फ्रेमवर्क में अनुपस्थित है। MetaGPT और एजेंटवर्स दोनों कोड रिव्यू क्षमताओं को समर्थन करते हैं, लेकिन MetaGPT आगे बढ़कर प्रीकंपाइलेशन एक्ज़ेक्यूशन को भी शामिल करता है, जो शुरुआती त्रुटि का पता लगाने में मदद करता है और कोड की गुणवत्ता को बढ़ाता है।

कोडिंग की पुनरावृत्तिपूर्ण प्रकृति को देखते हुए, यह सुविधा केवल अतिरिक्त सुविधा नहीं, बल्कि किसी परिपक्व विकास फ़्रेमवर्क की आवश्यकता है।

विभिन्न कार्यों पर किए गए मात्रात्मक प्रयोगों में MetaGPT ने लगभग हर स्थिति में अन्य प्रणालियों से बेहतर प्रदर्शन किया। Pass@1 बताता है कि फ़्रेमवर्क एक ही प्रयास में सही कोड तैयार करने में कितना सक्षम है। व्यावहारिक उपयोग में उच्च Pass@1 का अर्थ कम डीबगिंग और अधिक दक्षता है, जिसका विकास चक्र और लागत पर सीधा प्रभाव पड़ता है। CodeX, CodeT और GPT-4 जैसे उन्नत कोड-जनरेशन उपकरणों की तुलना में MetaGPT आगे रहा। इसने HumanEval और MBPP बेंचमार्क पर 81.7% से 82.3% तक Pass@1 दर हासिल की।

Comparing MBPP and HumanEval Metrics b/w MetaGPT and other Leading Models (https://arxiv.org/pdf/2308.00352.pdf)
MetaGPT और अन्य प्रमुख मॉडलों के MBPP तथा HumanEval परिणामों की तुलना

फ़्रेमवर्क कम टोकन और गणनात्मक संसाधनों का उपयोग भी करता है। डेटा के अनुसार, MetaGPT की औसत लागत प्रति परियोजना केवल $1.09 थी, जो उसी कार्य के लिए डेवलपर द्वारा ली जाने वाली लागत का एक छोटा हिस्सा है।

MetaGPT को स्थानीय रूप से स्थापित करने के चरण

एनपीएम, पाइथन स्थापना

  1. एनपीएम की जांच और स्थापना: सबसे पहले, सुनिश्चित करें कि एनपीएम आपके सिस्टम पर स्थापित है। यदि यह नहीं है, तो आपको Node.js स्थापित करना होगा। एनपीएम की जांच करने के लिए, टर्मिनल में यह कमांड चलाएं: npm --version। यदि आप एक संस्करण संख्या देखते हैं, तो आप तैयार हैं।
  2. MetaGPT के लिए एक निर्भरता के रूप में mermaid-js स्थापित करने के लिए, यह कमांड चलाएं: sudo npm install -g @mermaid-js/mermaid-cli या npm install -g @mermaid-js/mermaid-cli
  3. पाइथन संस्करण की जांच: सुनिश्चित करें कि आपके पास पाइथन 3.9 या उच्चतर संस्करण है। पाइथन संस्करण की जांच करने के लिए, टर्मिनल में यह कमांड चलाएं: python --version। यदि आप अद्यतित नहीं हैं, तो पाइथन की आधिकारिक वेबसाइट से नवीनतम संस्करण डाउनलोड करें।
  4. MetaGPT रिपॉजिटरी क्लोन करना: MetaGPT गिटहब रिपॉजिटरी को क्लोन करने के लिए यह कमांड चलाएं: git clone https://github.com/geekan/metagpt। सुनिश्चित करें कि आपके सिस्टम में गिट स्थापित है। यदि नहीं, तो यहाँ जाएं।
  5. निर्देशिका में नेविगेट करना: एक बार क्लोन हो जाने के बाद, MetaGPT निर्देशिका में यह कमांड चलाकर नेविगेट करें: cd metagpt।
  6. स्थापना: MetaGPT स्थापित करने के लिए पाइथन सेटअप स्क्रिप्ट चलाएं: python setup.py install।
  7. एक एप्लिकेशन बनाएं: python startup.py "ENTER-PROMPT" --code_review True चलाएं

ध्यान दें: आपकी नई परियोजना अब workspace/ निर्देशिका में होनी चाहिए। --code_review True GPT मॉडल को अतिरिक्त कार्रवाइयाँ करने देता है ताकि कोड सही ढंग से चले, लेकिन इससे लागत बढ़ेगी। स्थापना के समय अनुमति-संबंधी त्रुटि मिलने पर python setup.py install --user का उपयोग करें। विशिष्ट संस्करणों और अधिक जानकारी के लिए आधिकारिक MetaGPT Releases पृष्ठ देखें।

MetaGPT को डॉकर स्थापना

डॉकर के माध्यम से स्थापना के लिए:

  • डॉकर इमेज पुल: MetaGPT की आधिकारिक इमेज डाउनलोड करें और कॉन्फ़िगरेशन फ़ाइल तैयार करें:
docker pull metagpt/metagpt:v0.3.1
mkdir -p /opt/metagpt/{config,workspace}
docker run --rm metagpt/metagpt:v0.3.1 cat /app/metagpt/config/config.yaml > /opt/metagpt/config/key.yaml
vim /opt/metagpt/config/key.yaml
  • MetaGPT कंटेनर चलाना: कंटेनर को निम्नलिखित कमांड के साथ चलाएं:
docker run --rm --privileged \
-v /opt/metagpt/config/key.yaml:/app/metagpt/config/key.yaml \
-v /opt/metagpt/workspace:/app/metagpt/workspace \
metagpt/metagpt:v0.3.1 \
python startup.py "Create a simple and interactive CLI based rock, paper and scissors game" --code_review True

MetaGPT को अपने ओपनएआई एपीआई कुंजी के साथ कॉन्फ़िगर करना

प्रारंभिक सेटअप के बाद, आपको MetaGPT को अपने ओपनएआई एपीआई कुंजी के साथ एकीकृत करना होगा। यहाँ चरण हैं:

  1. ओपनएआई कुंजी का पता लगाना या जनरेट करना: आप इस कुंजी को अपने ओपनएआई डैशबोर्ड में एपीआई सेटिंग्स के तहत पा सकते हैं।
  2. एपीआई कुंजी सेट करना: आपके पास config/key.yaml, config/config.yaml, या पर्यावरण चर ( env ) में एपीआई कुंजी रखने का विकल्प है। प्राथमिकता क्रम config/key.yaml > config/config.yaml > env है।
  3. कुंजी सेट करने के लिए, config/key.yaml में नेविगेट करें और प्लेसहोल्डर टेक्स्ट को अपने ओपनएआई कुंजी से बदलें: OPENAI_API_KEY: "sk-..."

अपनी OpenAI API कुंजी सुरक्षित रखें। उसे किसी सार्वजनिक रिपॉजिटरी में कभी कमिट न करें और अनधिकृत व्यक्तियों के साथ साझा न करें।

उपयोग मामला चित्रण

मैंने एक क्लाई-आधारित रॉक, पेपर, और स्किसर गेम विकसित करने का उद्देश्य दिया, और MetaGPT ने सफलतापूर्वक इस कार्य को निष्पादित किया।

नीचे दिया गया वीडियो तैयार किए गए गेम को वास्तव में चलते हुए दिखाता है।

MetaGPT का डेमो

MetaGPT ने Markdown में एक सिस्टम डिज़ाइन दस्तावेज़ दिया। इस प्रचलित हल्की मार्कअप भाषा में तैयार फ़ाइल में UML आरेख थे, जो सॉफ़्टवेयर की संरचना का विस्तृत खाका प्रस्तुत करते हैं। API विनिर्देशों में HTTP विधियाँ, एंडपॉइंट, अनुरोध और प्रतिक्रिया ऑब्जेक्ट तथा स्थिति कोड भी दिए गए थे।

MetaGPT Output - System Design
MetaGPT आउटपुट—Markdown में सिस्टम डिज़ाइन

क्लास आरेख हमारी Game क्लास की विशेषताओं और विधियों का विवरण देता है। यह प्रोग्राम में कॉल के प्रवाह को भी दिखाता है, जिससे अमूर्त विचार समझने योग्य चरणों में बदल जाते हैं।

इससे योजना बनाने का मैनुअल काम घटता है और निर्णय लेने की गति बढ़ती है। विकास प्रक्रिया चुस्त बनी रहती है। MetaGPT केवल कोड तैयार करने को स्वचालित नहीं करता, बल्कि बुद्धिमान परियोजना नियोजन भी करता है, जिससे तेज़ एप्लिकेशन विकास में मदद मिलती है।

निष्कर्ष: MetaGPT—सॉफ्टवेयर डेवलपमेंट को क्रांतिकारी बनाना

MetaGPT जनरेटिव एआई और सॉफ्टवेयर डेवलपमेंट के परिदृश्य को पुनर्परिभाषित करता है, जो बुद्धिमान स्वचालन और अनुकूलनीय परियोजना प्रबंधन का एक सहज मिश्रण प्रदान करता है। यह चैटजीपीटी, ऑटोजीपीटी, और पारंपरिक लैंगचेन मॉडल्स की क्षमताओं को पार करता है, जो कार्य विभाजन, कुशल कोड जनरेशन, और परियोजना योजना में उत्कृष्टता प्राप्त करता है।

इस लेख के मुख्य निष्कर्ष हैं:

  • मेटा-प्रोग्रामिंग की शक्ति: MetaGPT चुस्त और अनुकूलनीय सॉफ़्टवेयर फ़्रेमवर्क प्रदान करता है। यह पुराने उपकरणों की सीमित कार्यक्षमता से आगे बढ़कर कोडिंग के साथ परियोजना प्रबंधन और निर्णय लेने को भी संभालता है।
  • दो परतों वाला आर्किटेक्चर: आधारभूत और सहयोग परतें ऐसा परिवेश बनाती हैं जहाँ एजेंट एक सुव्यवस्थित सॉफ़्टवेयर टीम की तरह मिलकर काम कर सकते हैं।
  • बेहतर कोड समीक्षा: कोड बनाने के अलावा, MetaGPT प्रीकंपाइलेशन निष्पादन देता है, जो त्रुटियों का शुरुआती संकेत प्रदान करता है। इससे डीबगिंग में समय बचता है और कोड की गुणवत्ता बेहतर होती है।
  • संज्ञानात्मक एजेंट: _observe(), _think() और _publish_message() जैसे फ़ंक्शन एजेंटों को सीखने और अनुकूलित होने में मदद करते हैं, ताकि सॉफ़्टवेयर समाधान केवल कोड तक सीमित न रहे, बल्कि बुद्धिमान भी हो।
  • स्थापना और परिनियोजन: MetaGPT को npm और Python की मदद से स्थानीय रूप से या Docker कंटेनर के माध्यम से स्थापित किया जा सकता है।

मैंने पिछले पांच वर्ष मशीन लर्निंग और डीप लर्निंग की आकर्षक दुनिया में डूबकर बिताए हैं। अपने जुनून और विशेषज्ञता के बल पर मैंने एआई/एमएल पर विशेष ध्यान देते हुए 50 से अधिक विविध सॉफ्टवेयर इंजीनियरिंग परियोजनाओं में योगदान दिया है। मेरी निरंतर जिज्ञासा ने मुझे प्राकृतिक भाषा प्रसंस्करण की ओर भी आकर्षित किया है, और मैं इस क्षेत्र को और गहराई से समझने के लिए उत्सुक हूं।