# अधिनियम 2: अपनी पॉडकास्ट प्रोडक्शन टीम बनाएं 🎬 ![lab2](../../../../translated_images/hi/lab2.48444b9d549e7863.webp) ## कहानी गहराती है एलेक्स (आपका AI सहायक अधिनियम 1 से) शानदार है, लेकिन एक एजेंट पूरे पॉडकास्ट स्टूडियो को नहीं चला सकता। आपको एक *टीम* चाहिए: - 🔍 **अनुसंधान एजेंट**: ताजी जानकारी के लिए इंटरनेट खंगालता है - ✍️ **स्क्रिप्ट एजेंट**: अनुसंधान को आकर्षक संवाद में बदलता है - 👤 **आप (संपादक)**: स्क्रिप्ट को मंजूरी देते हैं या पुनःलेखन के लिए वापस भेजते हैं स्वागत है **AI एजेंट ऑर्केस्ट्रेशन** में — जहां आप अपने AI दल के निदेशक बन जाते हैं। अवेंजर्स की तरह सोचें, लेकिन पॉडकास्ट निर्माण के लिए। ## एजेंट ऑर्केस्ट्रेशन क्या है? (सरल संस्करण) कल्पना करें कि आप एक रेस्तरां चला रहे हैं। आप खुद सब कुछ नहीं करते, सही है? आपके पास हैं: - 🍳 एक शेफ जो खाना बनाता है - 👨‍🍳 एक सूस शेफ जो तैयारी करता है - 👩‍🍳 एक सर्वर जो खाना परोसता है एजेंट ऑर्केस्ट्रेशन भी यही विचार है, लेकिन AI के साथ। प्रत्येक एजेंट की विशेषता होती है, और आप उन्हें बड़े लक्ष्य हासिल करने के लिए समन्वयित करते हैं। कोई एकल एजेंट अत्यधिक बोझिल नहीं होता, और काम तेजी से पूरा होता है। ### बैंड की तरह उदाहरण 🎸 आपके AI एजेंट एक बैंड की तरह हैं: - **मुख्य गायक**: मुख्य एजेंट जो ग्राहक-सामना करने वाले कार्य करता है - **ढोलकिया**: लय बनाए रखता है, पृष्ठभूमि प्रक्रिया संभालता है - **बास खिलाड़ी**: सभी का समर्थन करता है, डेटा प्राप्त करता है - **आप (बैंड मैनेजर)**: सबका समन्वय करते हैं! समन्वय के बिना? केवल शोर। ऑर्केस्ट्रेशन के साथ? सुंदर संगीत। ### यह क्यों महत्वपूर्ण है एक AI एजेंट सब कुछ करने की कोशिश करता है = थकावट। विशेषज्ञ एजेंट मिलकर काम करते हैं = कुशलता खुलती है! 🚀 **सच बात**: याद है जब आपने अकेले पॉडकास्ट के लिए शोध, लेखन, और संपादन करने की कोशिश की थी? हाँ, यह मुश्किल था। ऑर्केस्ट्रेशन के साथ, हर एजेंट अपनी ताकत के अनुसार काम करता है। आप केवल अंतिम निर्णय लेते हैं। **वास्तविक दुनिया का उदाहरण**: ग्राहक सहायता बॉट जो जानते हैं कि कब बिलिंग संभालनी है, कब तकनीकी समस्या, और कब किसी मानव को कॉल करना है। यही ऑर्केस्ट्रेशन है! ## एजेंट और वर्कफ़्लो: क्या फर्क है? इसे इस तरह सोचें: ### 🤖 AI एजेंट = जैज़ संगीतकार - **फौरन निर्णय लेता है** जो वह सुनता है उसके आधार पर - **उपकरणों का उपयोग कर** समाधान स्वतंत्र रूप से बनाता है - **सोचता है** एक LLM दिमाग से - **ढालता है** जो कुछ भी आप देते हैं उसके अनुसार ### 🎵 वर्कफ़्लो = शास्त्रीय संगीत बजाता ऑर्केस्ट्रा - **स्कोर का पालन करता है** (पहले से तय किए गए कदम) - **पूर्वानुमानित** निष्पादन पथ - **समन्वय करता है** कई एजेंट, मानव, प्रणालियों का - **संरचित** जैसे किसी नुस्खे की तरह **जादू**: वर्कफ़्लो एजेंटों को *ऑर्केस्ट्रेट* करता है! आप एक वर्कफ़्लो बनाते हैं जो एजेंटों को बताता है कि कब अपनी भूमिका निभानी है। दोनों का सर्वोत्तम मिश्रण। 🎭 ## अपनी AI टीम को समन्वित करने के तीन तरीके ### 1. 🎯 केंद्रीकृत (आप बॉस हैं) एक मुख्य एजेंट सभी निर्णय लेता है। इसे इस तरह सोचें जैसे आप एक टीम को प्रबंधित कर रहे हों — आप तय करते हैं कि कौन क्या कब करे। **फायदे**: - ✅ स्पष्ट नेतृत्व (कोई भ्रम नहीं) - ✅ निरंतर निर्णय - ✅ डिबग करना आसान **इसे इस्तेमाल करें**: - ग्राहक सेवा रूटिंग ("क्या यह बिलिंग है या तकनीकी सहायता?") - सामग्री अनुमोदन वर्कफ़्लो ("क्या यह स्क्रिप्ट मंजूर है?") - पॉडकास्ट निर्माण (बिल्कुल जैसा हम बना रहे हैं!) ### 2. 🤝 विकेन्द्रीकृत (एजेंट खुद को व्यवस्थित करते हैं) एजेंट सीधे एक-दूसरे से बात करते हैं और समूह के रूप में निर्णय लेते हैं। जैसे एक ग्रुप चैट जहां सभी समन्वय करते हैं। **फायदे**: - ✅ आसानी से स्केल करता है (कभी भी और एजेंट जोड़ें) - ✅ कोई एकल फेल पॉइंट नहीं - ✅ एजेंट स्वाभाविक रूप से सहयोग करते हैं **इसे इस्तेमाल करें**: - अनुसंधान टीम (प्रत्येक एजेंट विभिन्न स्रोतों का पता लगाता है) - आइडिया सत्र - वितरित समस्या समाधान ### 3. 🔀 हाइब्रिड (दोनों दुनियाओं का श्रेष्ठ) आप समग्र दिशा निर्धारित करते हैं, लेकिन एजेंटों को कार्यों पर स्वयं-व्यवस्थित होने की स्वतंत्रता है। जैसे कोई CEO जो अपनी टीम पर भरोसा करता है। **सटीक है**: जटिल परियोजनाओं के लिए जिन्हें नियंत्रण और लचीलापन दोनों चाहिए। ## Microsoft Agent Framework: आपका ऑर्केस्ट्रेशन टूलकिट 🧰 बनाने का समय! ये आपके पास होगा: ### निर्माण खंड #### 1. 🧱 निष्पादक (आपके कर्मचारी) - **वे क्या हैं**: व्यक्तिगत प्रोसेसिंग इकाइयां — एजेंट या कस्टम लॉजिक हो सकती हैं - **वे क्या करते हैं**: इनपुट लेते हैं, काम करते हैं, आउटपुट बनाते हैं - **इन्हें सोचें**: असेंबली लाइन के स्टेशन की तरह #### 2. ➡️ एज (कनेक्शन) - **वे क्या हैं**: निष्पादकों के बीच के रास्ते - **वे क्या करते हैं**: संदेश का प्रवाह नियंत्रित करते हैं ("A के बाद B जाओ") - **इन्हें सोचें**: फ्लोचार्ट पर तीर की तरह #### 3. 🗺️ वर्कफ़्लो (मुख्य योजना) - **वे क्या हैं**: निष्पादकों + एज के पूर्ण ग्राफ - **वे क्या करते हैं**: शुरू से अंत तक पूरे प्रोसेस को परिभाषित करते हैं - **इन्हें सोचें**: आपकी प्रोडक्शन पाइपलाइन की ब्लूप्रिंट ### आपको पसंद आने वाली खास बातें **🛡️ टाइप सेफ़्टी**: एजेंटों के बीच संदेश टाइप-चेक होते हैं। कोई "ओह, गलत डेटा टाइप" की आशंका नहीं। **🔀 लचीली रूटिंग**: - अगर-तो शर्तें ("अगर मंजूर, प्रकाशित करें; नहीं तो पुनःलेखन करें") - समानांतर प्रोसेसिंग (एक साथ कई एजेंट काम करते हैं) - डायनामिक पाथ (परिणाम के आधार पर वर्कफ़्लो एडजस्ट होता है) **🔌 बाहरी एकीकरण**: - APIs से कनेक्ट करें - मानव-इन-लूप चेकपॉइंट जोड़ें (आप मंजूरी देते हैं) - रिक्वेस्ट/रिस्पॉन्स फ्लो बनाएं **💾 चेकपॉइंटिंग**: प्रगति सहेजें! कुछ क्रैश हो जाए तो वहीं से आगे बढ़ें। **🤝 मल्टी-एजेंट समन्वय**: - एजेंटों को क्रमशः चलाएं (A → B → C) - उन्हें समानांतर चलाएं (A + B + C एक साथ) - एजेंटों के बीच हैंडऑफ करें - सहयोगात्मक प्रोसेसिंग ## सर्वोत्तम अभ्यास (प्रो टिप्स) 🎯 ### 1. इसे मॉड्यूलर रखें हर एजेंट को एक काम बहुत अच्छी तरह करना चाहिए। "सुपर एजेंट" ना बनाएं जो सब कुछ करे — डिबग करने में परेशानी होगी। ### 2. असफलताओं की योजना बनाएं एजेंट गलती कर सकते हैं। नेटवर्क फेल हो सकता है। त्रुटि हैंडलिंग और बैकअप प्लान बनाएं। आपका भविष्य धन्यवाद करेगा। ### 3. सब कुछ मॉनिटर करें देखें आपके एजेंट क्या कर रहे हैं। DevUI का उपयोग करें (हम इसे कवर करेंगे!) वर्कफ़्लो को जांचने के लिए। ### 4. संदेश आकार अनुकूलित करें एजेंटों के बीच बहुत बड़े फाइलें न भेजें। संदेश को तेज़ और छोटा रखें। ### 5. सही पैटर्न चुनें नियंत्रण चाहिए? केंद्रीकृत जाएं। स्केल चाहिए? विकेन्द्रीकृत जाएं। तय नहीं कर पा रहे? हाइब्रिड अपनाएं! ## DevUI: आपका वर्कफ़्लो डिबगर 🔍 ### DevUI क्या है? DevUI एक प्लेग्राउंड जैसा है जहां आप अपने एजेंट और वर्कफ़्लो का परीक्षण कर सकते हैं। यह एक वेब इंटरफ़ेस है जहां आप: - 👀 अपने वर्कफ़्लो को सक्रिय रूप से देख सकते हैं - 💬 एजेंटों से सीधे चैट कर सकते हैं - 🔍 समस्याओं पर डिबग कर सकते हैं - 📊 ट्रेस और प्रदर्शन मेट्रिक्स देख सकते हैं > **महत्वपूर्ण**: DevUI केवल विकास के लिए है! उत्पादन में इसका उपयोग न करें। इसे अपने स्थानीय परीक्षण वातावरण के रूप में सोचें। ### यह क्यों शानदार है - **🖥️ इंटरेक्टिव वेब UI**: क्लिक करें, टाइप करें, टेस्ट करें — कमांड लाइन की जरूरत नहीं - **📁 ड्रैग-एंड-ड्रॉप रेडी**: फाइलें अपलोड करें, विभिन्न इनपुट के साथ टेस्ट करें - **📂 ऑटो-डिस्कवरी**: एक फोल्डर निर्दिष्ट करें, यह अपने आप सभी एजेंट खोज लेता है - **📋 नो-सेटअप मोड**: कोड में एजेंट रजिस्टर करें, फोल्डर स्ट्रक्चर की जरूरत नहीं - **🔌 OpenAI कम्पैटिबल**: OpenAI SDK के साथ काम करता है (कम्पैटिबिलिटी के लिए बढ़िया!) - **👁️ ट्रेसिंग बिल्ट-इन**: देखें कि आपके एजेंट क्या कर रहे हैं ### इनपुट कैसे काम करता है DevUI इनपुट के प्रति स्मार्ट है: - **एजेंट टेस्ट कर रहे हैं?** आपको टेक्स्ट बॉक्स और फाइल अपलोड बटन मिलेंगे - **वर्कफ़्लो टेस्ट कर रहे हैं?** UI स्वतः ही इनपुट फील्ड्स बनाता है जो वर्कफ़्लो से मेल खाते हैं यह जादू जैसा है, लेकिन यह केवल शानदार कोड है। ✨ ## आपकी मिशन: पॉडकास्ट स्टूडियो बनाएं 🎬 ### मिशन 1: DevUI के साथ एकल एजेंट बनाएं 📂 [01.AgentDevUI](../../../../WorkshopForAgentic/code/02.Workflow/01.AgentDevUI) **चुनौती**: पूरी टीम बनाने से पहले, एक एजेंट के साथ DevUI का परीक्षण करें: एक वेब खोज विशेषज्ञ। **आप क्या बना रहे हैं**: एक अनुसंधान एजेंट जो पॉडकास्ट विषयों के लिए इंटरनेट खोज सकता है। आप इसे DevUI के वेब इंटरफ़ेस `http://localhost:8090` पर टेस्ट करेंगे। **आप सीखेंगे**: - 🚀 DevUI में एजेंट लॉन्च करना - 🔍 रियल-टाइम में एजेंट प्रतिक्रियाओं का परीक्षण - 🛠️ कस्टम टूल्स बनाना (वेब खोज) - 📊 डिबगिंग के लिए ट्रेसिंग सक्षम करना - 🖥️ इंटरैक्टिव वेब UI का उपयोग **कोड**: - `agent.py`: आपका SearchAgent जो वेब सर्च सुपरपावर रखता है - OllamaChatClient का उपयोग करके Qwen से कनेक्ट होता है - `web_search()` टूल फ़ंक्शन इम्प्लीमेंट करता है - `serve()` से लॉन्च होता है — DevUI को ऑटोमेटिकली खोलता है **जीत की शर्त**: अपने एजेंट से पूछें "AI में क्या ट्रेंड चल रहा है?" और देखें वह वेब पर खोज करता है! 🎉 ### मिशन 2: मल्टी-एजेंट वर्कफ़्लो बनाएं 📂 [02.WorkflowDevUI](../../../../WorkshopForAgentic/code/02.Workflow/02.WorkflowDevUI) **चुनौती**: अब असली मज़ा शुरू होता है! एक पूरा पॉडकास्ट प्रोडक्शन वर्कफ़्लो बनाएं: 1. 🔍 **सर्च एजेंट** → आपके विषय का अनुसंधान करता है 2. ✍️ **स्क्रिप्ट एजेंट** → दो होस्ट्स के बीच संवाद लिखता है (चीनी भाषा में!) 3. 👤 **रिव्यू निष्पादक** → आपसे अनुमोदन या अस्वीकृति मांगता है 4. 🔄 **लूप बैक** → अस्वीकृत होने पर, आपकी फीडबैक के अनुसार पुनःलेखन करता है **आप सीखेंगे**: - 🧱 विभिन्न कार्यों के लिए विशेष एजेंट बनाना - 🔗 एजेंटों को WorkflowBuilder से जोड़ना - 🔀 अनुमोदन लूप (human-in-the-loop!) लागू करना - 🚦 शर्तीय रूटिंग (स्वीकृत या अस्वीकृत होने पर) - 🔧 व्यावसायिक लॉजिक के लिए कस्टम निष्पादक बनाना **वर्कफ़्लो**: ``` SearchAgent → ScriptAgent → ReviewExecutor ↑ ↓ (if rejected) ←───────── ``` **कोड**: - `search_agent/agent.py`: आपका अनुसंधान विशेषज्ञ - `generate_script_agent/agent.py`: आपका स्क्रिप्ट लेखक (चीनी में लिखता है!) - `workflow/workflow.py`: ऑर्केस्ट्रेशन जादू यहीं होता है - `main.py`: सब कुछ DevUI में लॉन्च करता है **जीत की शर्त**: एक विषय दें, स्क्रिप्ट की समीक्षा करें, एक बार अस्वीकृत करें लूप की जांच के लिए, फिर मंजूर करें! 🎉 ### मिशन 3: कंसोल ऐप बनाएं 📂 [03.Application](../../../../WorkshopForAgentic/code/02.Workflow/03.Application) **चुनौती**: अपने DevUI वर्कफ़्लो को लेकर एक आकर्षक टर्मिनल ऐप बनाएं जिसमें रंगीन आउटपुट, लोडिंग स्पिनर, और फाइल सेविंग हो। यह उत्पादन के लिए तैयार है! **आप सीखेंगे**: - ⚡ प्रोग्रामेटिक रूप से वर्कफ़्लो चलाना (DevUI नहीं) - 📡 इवेंट-ड्रिवन आर्किटेक्चर के साथ स्ट्रीमिंग - 🎨 सुंदर टर्मिनल UI बनाना (रंग, स्पिनर, प्रोग्रेस बार) - 💾 अंतिम स्क्रिप्ट फाइल में सहेजना - 🔄 Python के asyncio के साथ असिंक वर्कफ़्लो संभालना **यह क्या करता है**: 1. आपसे पॉडकास्ट विषय पूछता है 2. रियल-टाइम प्रगति दिखाता है ("सर्च एजेंट काम कर रहा है...") 3. रंगीन स्क्रिप्ट दिखाता है 4. आपकी मंजूरी मांगता है 5. मंजूर स्क्रिप्ट को `podcast.txt` में बचाता है **कोड**: - `podcast_app.py`: आपका मुख्य ऐप इवेंट हैंडलिंग के साथ - `workflow.py`: मिशन 2 के वर्कफ़्लो का पुनः उपयोग करता है - हैंडल करता है इवेंट्स: `AgentRunUpdateEvent`, `RequestInfoEvent`, `WorkflowOutputEvent` - ANSI रंगों से टर्मिनल को स्टाइल करता है **जीत की शर्त**: ऐप चलाएं, पॉडकास्ट स्क्रिप्ट बनाएं, और इसे सेव होते देखें! आपने एक वास्तविक टूल बनाया है। 🚀 ## आपने क्या मास्टर किया है 🏆 अधिनियम 2 के बाद, आप कर सकते हैं: - ✅ कई AI एजेंटों को एक बॉस की तरह ऑर्केस्ट्रेट करना - ✅ क्रमिक और शर्तीय लॉजिक के साथ वर्कफ़्लो बनाना - ✅ मानव अनुमोदन चेकपॉइंट जोड़ना - ✅ DevUI का उपयोग कर वर्कफ़्लो का परीक्षण और डिबग करना - ✅ उत्पादन-तैयार कंसोल एप्लिकेशन बनाना - ✅ जटिल प्रणालियों में त्रुटि को सहजता से संभालना - ✅ किसी भी परियोजना के लिए सही ऑर्केस्ट्रेशन पैटर्न चुनना ## जब चीजें खराब हों 🔧 ### "मेरा वर्कफ़्लो बहुत जटिल है!" **समाधान**: इसे छोटे उप-वर्कफ़्लो में तोड़ दें। हर वर्कफ़्लो एक काम अच्छा करे। जरूरत पड़े तो उन्हें श्रृंखला में जोड़ें। ### "मैं नहीं देख पा रहा कि क्या हो रहा है!" **समाधान**: वर्कफ़्लो चेकपॉइंटिंग का उपयोग करें। DevUI में ट्रेसिंग सक्षम करें ताकि हर कदम दिखे। ### "एक एजेंट की गलती से सब कुछ क्रैश हो जाता है!" **समाधान**: त्रुटि सीमाएं जोड़ें। हर एजेंट अपनी गलतियों को संभाले और फालबैक व्यवहार रखे। ### "यह बहुत धीमा है" **समाधान**: क्या कोई एजेंट समानांतर चल सकता है? क्रमवार वर्कफ़्लो आसान हैं लेकिन धीमे। समानांतर चलाने के अवसर देखें! ## सहायक संसाधन 🔗 - [Workflow Docs](https://learn.microsoft.com/en-us/agent-framework/user-guide/workflows/overview) — माइक्रोसॉफ्ट के आधिकारिक गाइड - [Orchestration Patterns](https://www.ibm.com/think/topics/ai-agent-orchestration) — IBM का ऑर्केस्ट्रेशन दृष्टिकोण - [Agent Framework GitHub](https://github.com/microsoft/agent-framework) — स्रोत कोड देखें - [कोड उदाहरण](https://github.com/microsoft/agent-framework/tree/main/python/samples) — यहाँ से पैटर्न लें --- **फिनाले के लिए तैयार?** आपके पास आपकी स्क्रिप्ट है। अब इसे वास्तविक ऑडियो में बदलते हैं! → [अधिनियम 3: अपने पॉडकास्ट को जीवंत बनाएं](03.Multi-SpeakerPodcastGenerationWithVibeVoice.md) 🎤 --- **फंसे हैं? उलझन में हैं? उत्साहित हैं?** कार्यशाला चैट में साझा करें! हम सब साथ में सीख रहे हैं। 🚀 --- **अस्वीकरण**: इस दस्तावेज़ का अनुवाद AI अनुवाद सेवा [Co-op Translator](https://github.com/Azure/co-op-translator) का उपयोग करके किया गया है। हालांकि हम सटीकता के लिए प्रयासरत हैं, कृपया यह ध्यान रखें कि स्वचालित अनुवाद में त्रुटियाँ या गलतियाँ हो सकती हैं। मूल दस्तावेज़ अपनी मूल भाषा में प्रामाणिक स्रोत माना जाना चाहिए। महत्वपूर्ण जानकारी के लिए, पेशेवर मानव अनुवाद की सलाह दी जाती है। इस अनुवाद के उपयोग से उत्पन्न किसी भी गलतफहमी या ग़लत व्याख्या के लिए हम उत्तरदायी नहीं हैं।