00:00हेलो एवरीवन, माय नेम इज आरोही और वेलकम बैक टू माय चैनल। सो गाइस, आज के वीडियो में मैं आपको बताऊंगी कि अगर हमें मल्टी एजेंट एआई सिस्टम बनाना है, तो वह कैसे बनाया जाएगा। एंड देखो, यह जो आपको पेज दिख रहा है ना, यहां पे एआई ट्रैवल बुकिंग सिस्टम, यह डेमो एप्लीकेशन है जो आज हम बनाने वाले हैं। फ्रंट एंड और बैक एंड मैं सब बताऊंगी आपको कैसे बनाना है। तो, आज के ट्यूटोरियल में हम क्या करेंगे? हम बनाएंगे एआई ट्रैवल बुकिंग सिस्टम जिसके अंदर कितने एजेंट्स होंगे? चार एजेंट्स होंगे। यहां पे साइडबार में देखो, इस सेक्शन में क्या लिखा है मैंने? फ्लाइट एजेंट, होटल एजेंट, आइटिनैरी एजेंट और फाइनल एजेंट। तो हम चार एजेंट्स बनाएंगे। हर एजेंट का अपना एक काम होगा, वो एजेंट अपना काम करेगा और अपनी आउटपुट दूसरे वाले एजेंट को पास कर देगा। इसी तरह से चारों एजेंट अपना काम। करके यह जो एप्लीकेशन है हमारी, यह जो एआई ट्रैवल बुकिंग सिस्टम है, यह हमें फाइनल आउटपुट दिखाएगा। तो, इसे बनाने के लिए हम क्या इस्तेमाल करने वाले हैं आज? तो यहां उसकी लिस्ट है। सबसे पहले मैंने क्या मेंशन किया है? लैंग ग्राफ, मतलब जो एजेंटिक AI फ्रेमवर्क आज हम इस्तेमाल करने वाले हैं, वह कौन सा होगा? लैंग ग्राफ। और हमें एक एलएलएम भी चाहिए होगा। तो हम जो एलएलएम इस्तेमाल करेंगे, वह होगा LLaMA 3, 370 अरब पैरामीटर वाला मॉडल। और यह हम गौक से लेंगे। उसके बाद हम एक डेटाबेस इस्तेमाल कर रहे हैं, पोस्टग्रेसक्वेल। यह डेटाबेस हमें किस लिए चाहिए? क्योंकि हम अपनी जो एप्लीकेशन बना रहे हैं, इसमें एनवाईए, वह मेमोरी भी देंगे। मेमोरी का फायदे क्या होता है कि आपकी एप्लीकेशन को यूजर की सारी पुरानी बातचीत याद रहती है। और फिर जो आपकी एआई एप्लीकेशन होगी कि वो ऑब्जर्वली बेहतर रिजल्ट्स देगी अगर उसको पिछला सारा कुछ याद रहेगा, है ना? तो उसके लिए हम मेमोरी यूज़ करेंगे, और मेमोरी के लिए हम पोस्टग्रेसक्यूएल डेटाबेस यूज़ करेंगे। उसके बाद हम यूज़ कर रहे हैं टेलीसर्च। अब यह टेलीसर्च क्या है? मेरे को ना इसका पेज ओपन करने दो। यह देखो, tv.com लिखना, यह पेज ओपन हो जाएगा। यह एक API है। इस API के थ्रू हम क्या कर सकते हैं? अपने एआई एजेंट्स को इंटरनेट के साथ कनेक्ट कर सकते हैं। और इंटरनेट से अगर आपको कोई जानकारी सर्च करनी है, तो आप इस API को यूज़ करके पैच कर सकते हो। हम क्यों यूज़ कर रहे हैं यह वाली API? क्योंकि हमें फ्लाइट्स का डाटा चाहिए, है ना? बिल्कुल, अपडेटेड जानकारी चाहिए होगी फ्लाइट्स की, होटलों की। तो वो जितना भी सर्च रिलेटेड काम होगा, हम यह टेलीसर्च API को यूज़ करके करेंगे। उसके बाद है..
02:31एपीआईशन स्टैक। अब यह क्या है? इसे देखते हैं। तो यह इसकी वेबसाइट है aviationstack.com। यह भी एक एपीआई है। इस एपीआई की मदद से हम फ्री और रियल टाइम फ्लाइट डाटा ले सकते हैं। तो, ये सारी चीजें आज हम इस्तेमाल करेंगे। गाइस, मैं आपको पूरा डिटेल में बताऊंगी। यह LLM हम कैसे लेंगे? इसके लिए एपीआई कैसे जेनरेट होगी? और फिर टेली सर्च एपीआई कैसे इस्तेमाल करेंगे? इसकी एपीआई आप कैसे जेनरेट करोगे? एवीएशन स्टैक की एपीआई कैसे क्रिएट करोगे? फिर इस्तेमाल करोगे। तो, जितनी भी ये चीजें हैं ना, यहाँ पे, यह सारी हम फ्री इस्तेमाल करेंगे। किसी में भी आपको कोई पेड़ अकाउंट नहीं चाहिए। सारे फ्री सोर्सेस हैं यह। इनको इस्तेमाल करके आज की ऐप्लिकेशन बनाएंगे। और मैं आपको स्टेप बाय स्टेप बताऊंगी कि कैसे बनेगी वो ऐप्लिकेशन। तो अब हम ट्यूटोरियल स्टार्ट करते हैं। देखते हैं इसे कैसे बनाना है। है। अच्छा, एक चीज करते हैं। पहले ना, मैं आपको आउटपुट दिखाती हूं कि यह जो एप्लिकेशन है, किस तरह का आउटपुट देता है, ताकि आपको आइडिया लग जाए कि आज हम क्या बनाने वाले हैं। उसके बाद हम कोडिंग पार्ट शुरू करते हैं। ठीक है? तो यहां पे आप प्रॉम्प्ट देंगे इसको। तो देखो, मैंने प्रॉम्प्ट दिया—प्लान ए कंप्लीट डेज़ जापान ट्रिप इनक्लूडिंग फ्लाइट्स, होटल्स, एन्ड साइटसीक अंडर 2 लाख। और अब मैं 'जनरेट माई ट्रैवल प्लान' पर क्लिक करती हूं। देखो, आउटपुट आ गई। क्या आ रहा है? एजेंट पाइपलाइन। सो, पहला एजेंट हमारा कौन सा है? फ्लाइट एजेंट। अब, फ्लाइट एजेंट ने हमें पूरी एयरलाइन डिटेल्स निकाल कर दी। फिर दूसरा एजेंट है होटल एजेंट। होटल एजेंट ने हमें पूरी लिस्ट ऑफ होटल्स की इंफोर्मेशन दे दी। तीसरा एजेंट है हमारा आइटीनरी एजेंट। उसने डे वन, डे टू, पूरा सेवन डेज का हमें प्लान बना कर दे दिया, और बजट। ब्रेकडाउन भी दे दिया। उसके बाद यह जो फाइनल एजेंट है, जिसका काम है कि सभी एजेंट से डेटा लेना और फिर एक फाइनल डिटेल बना कर देना। हमें आइटिनरी बना कर देना, हमारा प्लान कर के देना, ट्रिप पूरा। तो वह उसने यहां पे काम कर दिया। देखो, ठीक है? और उसके बाद यहां पर डिटेल आ रही है कि LLM कितने कॉल किए गए, कितने एजेंट इस्तेमाल हो रहे हैं, स्टेटस क्या है? और फिर यह हमारा फाइनल ट्रैवल प्लान बन गया। और उसके बाद अगर आप इस प्लान को डाउनलोड करना चाहते हो, तो डाउनलोड पर क्लिक कर सकते हो। तो इस तरह से आप यह एप्लिकेशन इस्तेमाल कर सकते हो। अब हम देखते हैं इस एप्लिकेशन को कैसे बनाना है। तो हम VS Code में काम करेंगे। तो VS Code खोल लो। आज के ट्यूटोरियल के लिए मैंने एक अलग फोल्डर बनाया है, जिसका नाम है मल्टी एजेंट सिस्टम डेमो, और उसी फोल्डर के अंदर पहले मैं Python का… मैं अलग-अलग एनवायरमेंट बनाऊंगी और जितने भी पैकेजेस आज के प्रोजेक्ट के लिए चाहिए, सारे पैकेजेस मैं इसी Python एनवायरमेंट में इंस्टॉल करूंगी। तो हम टर्मिनल खोल लेते हैं। टर्मिनल के लिए आप यहां क्लिक करें, फिर टर्मिनल पर क्लिक करें, और न्यू टर्मिनल पर क्लिक करें। अब हम यहां पर एनवायरमेंट क्रिएट करते हैं। एनवायरमेंट बनाने के लिए आप लिख सकते हैं: `python -m venv <environment_name>`
05:29तो मैं एनवायरमेंट बना रही हूँ, जिसका नाम है LangGraph_ENV3। इसे एंटर कर दें। जब एनवायरमेंट क्रिएट हो जाएगा, तो इस तरफ आपको फोल्डर दिखेगा। देख रहा हैं ना, देखिए, LangGraph_ENV3। तो आपका एनवायरमेंट अब क्रिएट हो गया है। अब आपको इस एनवायरमेंट को एक्टिवेट करना है। उसके लिए आप लिखेंगे: `source <environment_name>/bin/activate` (Linux/Mac) या `.\<environment_name>\Scripts\activate` (Windows)। एक्टिवेट। तो अब आपका एनवायरमेंट सक्रिय हो गया है। अगला कदम है, वह सारे पैकेजेस को इंस्टॉल करना जो हमें आज के ट्यूटोरियल के लिए चाहिए। तो हमें ये सारे पैकेजेस चाहिए। मैंने एक ही बार में वह सारे पैकेजेस यहाँ लिख दिए हैं। और अब आप एंटर प्रेस कर दीजिए। गाइज, जब तक ये पैकेजेस इंस्टॉल हो रहे हैं, हम क्या करते हैं, न, API कीज़ बना लेते हैं। हमें कितनी API कीज़ चाहिए? तीन API कीज़ चाहिए। एक API तो हमें GCP की चाहिए। GCP की API क्यों चाहिए? क्योंकि हमें जो Language Model इस्तेमाल करना है, वह GCP से ही करना है। GCP पर बहुत सारे Language Models उपलब्ध हैं। हमें उनमें से कोई एक Language Model इस्तेमाल करना है। तो मैं यहाँ GCP की वेबसाइट ओपन कर लेती हूँ। आप यहाँ क्लिक करेंगे, लिखेंगे console.cloud.google.com। आप इतना लिखेंगे, और एंटर कर देंगे, वेबसाइट ओपन हो जाएगी यह वाली। पे आपको पेज दिख रहा है। अब आप क्या कर सकते हो ना? यहां पे स्क्रॉल करके देखो। यहां पे ना आपको बहुत सारे मॉडल्स दिख रहे होंगे। ठीक है? आप इनमें से कोई भी मॉडल यूज़ कर सकते हो। हम कौन सा यूज़ कर रहे हैं? हम आज यूज़ करेंगे Llama 3, 3.70 बिलियन पैरामीटर वाला मॉडल। अब यह जो मॉडल Grok पर पड़ा हुआ है, अगर आपको इसको यूज़ करना है अपने LangGraph के साथ, तो आपको इसकी API की को इंस्टॉल करना पड़ेगा। ठीक है? तो ऊपर देखो यहां पे आपको API कीज़ दिख रही हैं। इस पे क्लिक कर देना और क्रिएट API पे क्लिक कर देना। क्रिएट API की जब आप क्लिक करोगे, यह बोलेगा आपको कि नाम कोई प्रोवाइड करना चाहते हो, तो आप इसको तो आप इसको कोई नाम दे देना। तो लेट्स नेम दिया एएसडी। ऐसे ही आप कुछ भी नाम दे सकते हो। और यहां पे टिक कर देना। उसके बाद सबमिट कर दो। तो आपको API की मिल जाएगी। देखो API। की मिल गई। इस API की को कॉपी कर लो। यहां से Done पे क्लिक कर दो। और हमने वीएस कोड पर वापस जाएंगे। और यहां पे, अब हम इसी फोल्डर के अंदर एक नई फाइल बनाएंगे, उसका नाम दे दो .env। और यहां पर आप इस वाली API की की को कॉपी करके पेस्ट कर दोगे। और हम इसकी को एक वेरिएबल में रख देते हैं। तो यह एक वेरिएबल है जिसके अंदर मैंने GOC की API की रखी है। इसकी मदद से अब हम GPT-3.5 वाला जो LLM है, वो यूज़ कर सकते हैं। अब आप ब्राउज़र पर दोबारा जाओ। अब हमें दूसरी चीज क्या चाहिए? एप्लिकेशन पर देखो। मैंने क्या बोला था? हमें फ्लाइट्स भी ढूंढनी हैं। लेटेस्ट डिटेल्स चाहिए फ्लाइट्स की। फ्लाइट्स की डिटेल हमें कहां से मिलेगी? हमने देखा था कि फ्लाइट्स की डिटेल्स हमें मिलेगी अमेशन स्टैक API की मदद से। तो आप अमेशन stack.com खोलोगे। आपको इस तरह का पेज दिखेगा। अगर, तो आप..
08:44यह एपीआई पहली बार उपयोग कर रहे हो तो आपको पहले साइन अप करना पड़ेगा। आप साइन अप कर सकते हो अपनी ईमेल आईडी से या Google अकाउंट के साथ। तो जब एक बार साइन अप कर लिया, लॉगिन कर लेना। इस तरह का पेज दिखेगा। जब आपको ऐसा पेज दिखे तो "Get Free API" पर क्लिक कर देना। यह आपको इस डैशबोर्ड पर ले जाएगा। यहां पे ना आपको खुद से एक API की दिख रही होगी। आपको क्रिएट नहीं करनी। यहां पे ऑलरेडी API की आ रही होगी। आपको ये एक API की चाहिए। तो इसको यहां से कॉपी करो। कॉपी करके अब VS Code पे हम दोबारा जाएंगे। और यहां पे हम इस वाली वाली की भी पेस्ट कर देंगे। और इसको भी ना हम एक वेरिएबल में लिख देते हैं, ऐसे। ठीक है? अब हमारे पास दो API कीज हो गईं। API का उपयोग स्टॉक API की मदद से हमें लेटेस्ट फ्लाइट डेटा मिलता रहेगा, और इसके जरिए हम LLM यूज़ कर सकते हैं। अब हमें एक और API की चाहिए। चाहिए। ब्राउज़र पर वापस जाएं और TV को खोलें, TV.com क्या है? इसकी हेल्प से आपके जो AI एजेंट्स हैं, वह इंटरनेट से डेटा सर्च कर सकते हैं। तो अब हमें इसकी API की चाहिए। तो अगर आप इसे पहली बार इस्तेमाल कर रहे हैं, तो आपको इस API के लिए पहले साइन-अप करना पड़ेगा। अपने ईमेल आईडी से या Google अकाउंट से साइन-अप कर लें। फिर आपको लॉगिन करना है। एक बार जब आप साइन-अप कर लेंगे, तो लॉगिन करें। लॉगिन पर क्लिक करें। जब आप लॉगिन पर क्लिक करेंगे, तो आपको इस तरह का डैशबोर्ड दिखेगा। और यहाँ आप को एक API की दिखाई देगी। डिफ़ॉल्ट रूप से यह की अपने आप ही बन जाती है। आपको बनानी नहीं है। ठीक है? यह पहले से ही की बनी हुई है। इसे यहाँ से कॉपी कर लें। और आप इसे Visual Studio Code पर भी उपयोग कर सकते हैं। यदि आप यह वाली API की नहीं उपयोग करना चाहते हैं, तो आप इस प्लस पर क्लिक करके नई API भी बना सकते हैं। मेरे केस में मैंने यही वाली एपीआई का यूज़ किया है, जो डिफ़ॉल्ट पड़ी हुई है। तो इसको यहाँ से कॉपी कर लो, और VS Code पे जाकर फिर से खोलो। और हम यहाँ पे ये वाली एपीआई भी पेस्ट कर देते हैं, ताकि हमारे एआई एजेंट्स इंटरनेट सर्च करके इनफार्मेशन ले सकें। ठीक है? आप इसे भी एक वेरिएबल में लिख दो। हमारे पास यह तीन एपीआई कीज़ हो गई। फाइल में इस फाइल को सेव कर दो। अब आप देखें यहाँ पे टर्मिनल में सारे पैकेज भी इंस्टॉल हो गए हैं। हमारे दो स्टेप्स हो गए। हमने सारे पैकेजेस इंस्टॉल कर लिए। हमने एपीआई कीज़ भी लगा दी। अब हमें सिर्फ एक और चीज़ चाहिए। कौन सी? ब्राउज़र पे आओ फिर से और अपनी ऐप खोलो। यहाँ पे देखें, मैंने क्या लिखा था? एजेंट स्टैक, हमारे पास एपीआई भी आ गई। इसकी भी एपीआई की भी आ गई। इसकी भी एपीआई हमने मेंशन कर दी। तो, ये तीन चीजें तो हम यूज़ कर लेंगे। लैंगग्राफ भी हमने इंस्टॉल कर लिया। अब सिर्फ क्या बचा? पोस्टग्रेस्क्वल डेटाबेस। आपको यह डेटाबेस भी अपने पीसी पर इंस्टॉल करना पड़ेगा। अगर तो आपने पहले से कर रखा है, तो आप यह वाला इंस्टॉलेशन स्टेप स्किप कर सकते हैं। लेकिन अगर आप फर्स्ट टाइम यूजर हो, तो आप क्या करोगे? आप ना ब्राउज़र खोलेंगे और यहाँ पर लिखेंगे पोस्टग्रेस्क्वल डाउनलोड, और आपको यह जो पहला लिंक दिख रहा है ना, जो ऑफिशियल वेबसाइट है, उस पर क्लिक कर देंगे। यहाँ पर आपको ऑप्शंस दिखेंगी ऑपरेटिंग सिस्टम्स की। तो आप जिस भी ऑपरेटिंग सिस्टम पर काम कर रहे हो, उस पर क्लिक करोगे। मेरे केस में Windows है। मैंने Windows पर क्लिक कर दिया। यहाँ पर आ रहा है ऑप्शन 'डाउनलोड द इंस्टॉलर'। आप इस पर क्लिक करोगे। फिर आपको इस तरह का पेज दिखेगा। जिसमें सबसे ऊपर जो लेटेस्ट वर्जन है, वह दिखाई दे रहा है। हमें लेटेस्ट वर्जन इंस्टॉल करना है। तो आप यहाँ जाकर। इधर क्लिक कर दीजिए। जब आपने इस पे क्लिक किया तो आप देखेंगे कि डाउनलोड्स में इसकी एक्सजे फ़ाइल जो है, वो डाउनलोड होने लग गई। एक बार जब यह ऐप डाउनलोड हो जाएगी, फिर आप उसकी एक्सजे फ़ाइल, जो कि डाउनलोड्स फोल्डर में पड़ी होगी, उसके ऊपर क्लिक करें और ऑन स्क्रीन इंस्ट्रक्शंस को फॉलो करते रहिए। लेकिन दोस्तों, एक प्रम्प्ट आएगी, जहां पर आपको यह कहा जाएगा कि पासवर्ड सेट करने के लिए। तो वह पासवर्ड जो भी आप सेट करेंगे, वह याद रखना कि आप क्या पासवर्ड रख रहे हैं, क्योंकि वो पासवर्ड हम LangGraph में फिल करेंगे, जब हमें डेटाबेस में डेटा स्टोर करवाना होगा। तो आपको वह पासवर्ड याद रखना है, जो भी आप पासवर्ड रख रहे हो। मेरे केस में मैंने पासवर्ड रखा हुआ है 'PostgreSQL', क्योंकि जो बाय डिफ़ॉल्ट यूजर होता है ना, PostgreSQL का, वह भी PostgreSQL ही होता है। मैंने पासवर्ड भी PostgreSQL ही रख दिया ताकि मुझे..
13:04याद रहे। और आपको पोर्ट नंबर भी याद रखना है। या तो पोर्ट नंबर 5432 होगा या 5433। तो आपको यह पोर्ट नंबर जो आपने इंस्टॉलेशन के टाइम पे सेट किया है, वह और जो पासवर्ड है, ये दोनों चीजें याद रखना है। ऑनस्क्रीन इंस्ट्रक्शंस को फॉलो करते जाओ। नेक्स्ट पर क्लिक करते जाओ। फाइनली, Finish का बटन आएगा, उस पर क्लिक करें। इंस्टॉलेशन पूरी हो जाएगी। जब एक बार इंस्टॉलेशन हो जाए, तो आप यहां पर लिखेंगे 'PGAdmin4' और आप इस तरह का ऐप दिखेगा। आप इसके ऊपर क्लिक करेंगे, अगर तो आपको इस तरह की स्क्रीन दिखाई देगी। PGAdmin 4 पर क्लिक करने के बाद, इसका मतलब है कि आपका PostgreSQL Database सफलतापूर्वक इंस्टॉल हो गया है। अब अगर आप यहां पर इस सर्वर के सामने जो एरो है, उस पर क्लिक करेंगे, तो यह आपको पासवर्ड फील करने के लिए बोलेगा। तो यहां पर आपको कौन सा पासवर्ड डालना है, जो आपने..
14:04इंस्टॉल करते हुए रखा था ना पोस्टग्रीस्क्वल को, अभी हमने इंस्टॉल किया है। तो जो पासवर्ड आपने वहां रखा था, वो पासवर्ड आप यहां डालोगे। मेरे केस में मैंने आपको क्या बताया था कि मेरा पासवर्ड क्या है? पोस्टग्रीस्क्वल। देखो, यहां से ही कॉपी करके मैंने यहां पे पेस्ट कर दी है। एंड डिफॉल्ट यूजर भी पोस्टग्रीस्क्वल है, और पासवर्ड भी मैंने पोस्टग्रीस्क्वल रख दिया। एंड ओके पे क्लिक कर दो। ओके, मैंने गलती कर दी। 1 मिनट, यहां से कॉपी करो, पेस्ट करो। ओके पे क्लिक करो। तो देखो, आप लॉगिन हो जाओगे। अब आपके पास पोस्टग्रीस्क्वल डेटाबेस खुल गया। ठीक है? यहां पर आज हम जो langGraph की हमारी AI एप्लिकेशन होगी, ना मल्टी एजेंट एप्लीकेशन, उसका जो डेटाबेस होगा, उसकी जितनी भी कॉन्भर्सेशन हिस्ट्री होगी, वो सब हम यहां पे सेव करने वाले हैं। तो अब हमने वो सारी चीजें इंस्टॉल कर ली हैं। हमारा एनवायरमेंट सेटअप हो गया है कोड को रन करने के लिए। तो अब हम कोडिंग पार्ट शुरू करते हैं। उसके लिए वीएस कोड खोल लो। और यहां पर आप एक फाइल बनाएंगे, इसी फोल्डर में मल्टी एजेंट सिस्टम डेमो फोल्डर में एक फाइल बनाओगे। यहां पे क्लिक कर दो। उस फाइल का नाम दे दो main.py और एंटर कर दो। सबसे पहले हम सभी वो पैकेजेस को आयात करेंगे जो हमें आज के ट्यूटोरियल के लिए जरूरी हैं। तो ये सारी पैकेजेस हमें चाहिए। देख लो, पहले हम क्या कर रहे हैं? ओएस मॉड्यूल को आयात कर रहे हैं, फिर ये दो मॉड्यूल्स आयात कर रहे हैं, औरऑपरेटर मॉड्यूल भी आयात कर रहे हैं। तो ये पार्ट क्यों जरूरी है? क्योंकि लंग ग्राफ के अंदर हम स्टेट बनाते हैं। स्टेट क्या होती है? शेयर्ड मेमोरी, किसकी शेयर्ड मेमोरी? जो भी आप आज एप्लिकेशन बना रहे हो, कोई भी प्रोजेक्ट। कोई भी वर्कफ़्लो बनाते हो लैंग ग्राफ में, तो आप न एक स्टेट जरूर बनाते हो। स्टेट क्या होती है? शेयर्ड मेमोरी। शेयर्ड मेमोरी का मतलब है कि जितनी भी नोड्स होंगी लैंग ग्राफ की, वो सारी इसी शेयर्ड मेमोरी से, इसी स्टेट से डेटा पिक करेंगी, और अपनी आउटपुट जो भी होगी, उसे भी इसी शेयर्ड स्टेट में रखते हैं। तो डिटेल में अभी थोड़ी देर में समझेंगे। अभी के लिए सिर्फ इतना समझ लो कि ये पैकेजेस हम कहां पर यूज करेंगे, जब हम स्टेट बनाएंगे। इसी तरह देखो, ये जो तीन पैकेजेस हैं, इन्हें हम क्यों यूज कर रहे हैं? क्योंकि हमें लैंग ग्राफ में ग्राफ बनाना है न। लैंग ग्राफ में काम कैसे होता है? ग्राफ के थ्रू ही होता है। तो वहां पर ये मॉड्यूल्स हमें चाहिए होंगे। डिटेल में थोड़ी देर में बताऊंगी कि इन सबका कहां और कैसे उपयोग हो रहा है। उसके बाद देखो, पोस्ट ग्रेस सेवो, ये मॉड्यूल हमें..
16:31क्यों चाहिए? क्योंकि आज हम क्या करने वाले हैं? एक मेमोरी बनाएंगे। लॉन्ग टर्म मेमोरी होगी हमारी एप्लिकेशन की ताकि वो यूजर की कन्भर्सेशन को याद रख सके। तो हम क्या यूज़ कर रहे हैं? उसके लिए पोस्टग्रीसक्वेल डेटाबेस यूज़ कर रहे हैं। तो जो पोस्टग्रीसक्वेल डेटाबेस आपने इंस्टॉल किया है अपने पीसी पे, उसको अपनी LangGraph एप्लीकेशन के साथ कनेक्ट करने के लिए, न, आपको कोई न कोई मॉड्यूल तो चाहिए ही होगा। तो वो मॉड्यूल कौन सा है? पोस्टग्रीसक्वेल सर्वर। उसके बाद हम इम्पोर्ट कर रहे हैं यह अलग-अलग तरह के मैसेजेस। एन्य मैसेज, ह्यूमन मैसेज, एआई मैसेज, सिस्टम मैसेज। क्या होता है? यह सब देखते हैं। सिस्टम मैसेज क्या होते हैं? जो हम सिस्टम को प्रॉम्प्ट देते हैं न, शुरू में, वो सिस्टम मैसेजेस होते हैं। ये सारी सिस्टम मैसेज क्लास हैं, ये रिप्रेजेंट करते हैं। करते हैं उन सभी मैसेजेस को, और फिर है एआई मैसेज। एआई मैसेज क्या होता है, जो आपके एआई एजेंट रिप्लाई करेंगे ना, वह सारे कौन हैंडल करता है? एआई मैसेज क्लास। फिर है ह्यूमन मैसेज। ह्यूमन मैसेज क्लास किस लिए होती है? ये जितने भी मैसेजेस यूजर करता है, जैसे मैसेज करेंगे एआई एप्लिकेशन को, तो वो सारे मैसेज यह जो ह्यूमन मैसेज क्लास है ना, यह रिप्रेजेंट करती है उनको। एनी मैसेज मतलब यह क्लास है जिसमें हर तरह का मैसेज जा सकता है। चाहे वो मैसेज ह्यूमन ने किया है, चाहे वो एआई ने किया है, चाहे वो सिस्टम प्रोसेस कर रहा हो। तो एनी मैसेज ना, हर तरह के मैसेजेस को स्टोर करता है। तो ये डिफरेंट तरह के मैसेजेस हम यूज़ करेंगे। और ये सब हम कहां से इम्पोर्ट कर रहे हैं? LangChain कोड dot messages से। उसके बाद हम यूज़ कर रहे हैं ChatGraph। अब यह ChatGraph हमें क्यों चाहिए? यह जो..
18:14क्लास है, हमें इसलिए चाहिए क्योंकि हमने एलएलएम इस्तेमाल करना है ग्रॉक से। मैंने बताया था ना कि ये जो ग्रॉक है, हमने इस ग्रॉक से मॉडल इस्तेमाल करना है, लामा 3.3 है ना? इस मॉडल को, जो कि ग्रॉक पर पड़ा हुआ है, अगर हमें अपने लैंगग्राफ के साथ इस्तेमाल करना है, तो उसके लिए आपको यह वाला पैकेज चाहिए। तो, हमने वो इम्पोर्ट कर लिया। अब दोस्तों, उसके बाद ये जो दो पैकेजिस हैं, इन्हें हमने खुद बनाया है। हमें इन्हें कहीं से नहीं लेना है। ये हम खुद बना रहे हैं। कर क्या रहे हैं? मैंने एक फोल्डर बनाया, जिसका नाम टूल्स है। उसके अंदर एक Python फाइल पड़ी हुई है, टैवली टूल डॉट पायथन। उसके अंदर एक Python फंक्शन है, टैवली सर्च। इसी तरह से, टूल्स फोल्डर के अंदर एक और फाइल बनाएंगे, फ्लाइट टूल्स डॉट पायथन। उसमें हम एक Python फंक्शन बनाएंगे, सर्च फ्लाइट्स। ठीक है? तो अब हम ये काम शुरू करते हैं, पहले अपने उस फोल्डर के साथ। मल्टी एजेंट सिस्टम डेमो फोल्डर के अंदर हमें एक फोल्डर बनाना है,जिसका नाम है टूल्स। तो आप इसके सामने जो दूसरा आइकॉन है ना, उस पर क्लिक करो और इसको नाम दो टूल्स। और आपने फोल्डर बना लिया। अब इस फोल्डर के अंदर आपको दो फाइलें बनानी हैं: टवेली टूल और फ्लाइट टूल डॉट पाय। तो वे फाइलें बनाते हैं। इस पर क्लिक कर दो फोल्डर पर और फिर न्यू फाइल पर जाओ, और यहां लिखो टवेली टूल डॉट पाय। ठीक है? तो अब हमें इसके अंदर कोड लिखना है। थोड़ी देर में लिखते हैं। पहले दोनों फाइलें बना लेते हैं। सेम टूल्स के अंदर हमें एक और फाइल बनानी है। तो यहां क्लिक करो। उस फाइल का नाम क्या रखेंगे? फ्लाइट। हमने मेन में क्या नाम रखा है? फ्लाइट टूल डॉट पाय। तो यहां आकर स्लाइड अंडर्स टूल्स.py। तो टूल्स फोल्डर के अंदर हमने ये दो फाइलें बना ली हैं। अब इनके अंदर क्या कोड रखना है, वो देखते हैं। तो गैज। बेसिकली, ये दोनों फाइलें हमें चाहिए। क्यों? क्योंकि हमने API्शन स्टॉक पर एक API बनाई थी। क्यों? क्योंकि हमें फ्लाइट का लेटेस्ट डेटा चाहिए। है ना? तो वो डेटा fetch करने के लिए हमें उस API को अपने पाइथन कोड में लिखकर कुछ न कुछ कोड लिखना पड़ेगा ताकि डेटा fetch किया जा सके। तो वो फंक्शन अब हम लिखने वाले हैं, ये वाली फाइल में, फ्लाइट टूल डॉट पीवाईल में। उसी तरह से टेबल टूल डॉट पीवाईल में हम एक फंक्शन लिखेंगे जिसमें हम टेबलरी सर्च API को इस्तेमाल करके इंटरनेट से जो भी डेटा fetch करना है, उसके संबंधित कोड लिखेंगे। तो हम यहां पे कोड लिखते हैं। अब तो पहले हमने यह मॉड्यूल्स को इम्पोर्ट कर लिया। हम लॉड अंडरस् मॉड्यूल का इस्तेमाल कर रहे हैं। ये क्यों कर रहे हैं? कभी भी जब भी आपको API कीज को लॉड करना हो, तो आप ये मॉड्यूल को इम्पोर्ट करते हो और ये लाइन लिखते। हो। इससे क्या होगा? जो एपीआई की होगी, वह लोड हो जाएगी। और हम कौन सी एपीआई का उपयोग करना चाहते हैं? API Stack API। यहां पर देखो, API Stack API है ना, हमारी एनवी फाइल में, जो हमने क्रिएट की थी फ्लाइट डेटा लेने के लिए, उसी वाली एपीआई का हम उपयोग करना चाहते हैं। तो अभी तक हमने इतना कोड लिखा है। अब हमने Python फंक्शन लिखना है, इस एपीआई का उपयोग करके इंटरनेट से फ्लाइट रिलेटेड डेटा प्राप्त करने के लिए। तो, यह वो फंक्शन है। फंक्शन का नाम है 'सर्च फ्लाइट'। इस फंक्शन को एक पैरामीटर पास हो रहा है। यह क्वेरी क्या होगी? जो यूजर की क्वेरी होगी, वही इस फंक्शन की इनपुट बनेगी। तो अब, उदाहरण के लिए, यूजर ने टाइप किया, "प्लानिंग ए फाइव डज़ ए ट्रिप टू जापान।" तो वही क्वेरी यहाँ आ गई। फिर यह जो URL है, यह उस API का URL है, जिससे हमें..
22:08फ्लाइट्स का डेटा मिलता है। फिर हम यहाँ पर पैरामीटर्स प्रोवाइड कर रहे हैं। हम अपनी API की दे रहे हैं, जो हमने क्रिएट की है, और लिमिट फाइव है। इसका क्या मतलब है? कि हमें पाँच रिजल्ट्स चाहिए एक बार में। अब रिस्पॉन्स यहाँ पर रिस्पॉन्स जनरेट होगा, इस वेरिएबल के अंदर। रिक्वेस्ट मॉड्यूल को यूज़ करके, डॉट गेट यह जो URL है, API का, जहाँ पर फ्लाइट्स का डेटा पड़ा हुआ है, उसको हम ये पैरामीटर्स साथ में दे रहे हैं, और हमें रिस्पॉन्स मिल जाएगा। उस वेबसाइट से, या उस API से, हमें पाँच फ्लाइट्स की डिटेल्स मिल जाएंगी। अब उसको फिर हम JSON फॉर्मेट में सेव कर रहे हैं, रिस्पॉन्स को, रिस्पॉन्स.JSON, और हम कहां रख रहे हैं? डेटा वेरिएबल के अंदर। फिर हमारे पास ना, एक ब्लैंक लिस्ट है, जिसका नाम है 'फ्लाइट्स'। इस लिस्ट के अंदर, अब मैं ऑर्गेनाइज्ड ভাবে, वो सारा फ्लाइट का डेटा रखना चाहती हूं। तो अब हम..
23:04कर क्या रहे हैं? देखो, मैंने क्या बोला है—अगर तो डेटा पड़ा हुआ है, डेटा वेरिएबल में, इस वाले डेटा वेरिएबल में, जो कि JSON फाइल है। यदि इसमें डेटा पड़ा हुआ है, तो हम सारा डेटा फ्लाइट लिस्ट में रखना चाहते हैं। इसलिए फॉर लूप का उपयोग कर रहे हैं। तो करा क्या? मैंने न चार वेरिएबल बना दिए—एयरलाइन, डिपार्चर, अरेवेल, और स्टेटस। ठीक है? ये चार वेरिएबल्स में मैं ऑर्गेनाइज्ड तरीके से डेटा रखना चाहती हूं। जो डेटा इस JSON फाइल में यहां पड़ा हुआ है, वह JSON फॉर्मेट में है। बट मैंने क्या किया? फॉर लूप के अंदर चार अलग-अलग वेरिएबल बना लिए ताकि मैं अच्छे से यह डेटा स्टोर कर सकूं। तो एयरलाइन के अंदर मैं उस एयरलाइन का नाम फ़ेच कर रही हूं, और गेट नेम और डिपार्चर के अंदर मैं डिपार्चर से संबंधित जानकारी ले रही हूं कि कौन से एयरपोर्ट से डिपार्चर हो रहा है। फिर अराइवल के अंदर कौन से एयरपोर्ट से अराइवल है, स्टेटस में फ्लाइट का स्टेटस क्या है? ये सारी जानकारी मैंने चार वेरिएबल्स में रख दी है। फिर मैं फ्लाइट लिस्ट को इन चारों वेरिएबल्स के साथ ऐपेंड कर रही हूं। यह एक फंक्शन है, बहुत सरल सा। और अब हम इस फंक्शन को अपनी main.py फ़ाइल में कॉल कर रहे हैं। देखिए, 'सर्च फ्लाइट' फंक्शन फ्रॉम 'टूल्स.फ्लाइट टूल' से इंपोर्ट कर रहे हैं। इसी तरह, हमने वह टेली सर्च वाली फ़ाइल भी बनाई है, जिसका इस्तेमाल इंटरनेट से सर्च करने और होटल की जानकारी हासिल करने के लिए करेंगे। अब हमें उस कोड को इस 'टैवली टूल.py' फाइल में लिखना है। उसमें भी हम सबसे पहले मॉड्यूल्स को इंपोर्ट करेंगे। तो, 'टीवीएल क्लाइंट' का इस्तेमाल किया है, 'ओएस' मॉड्यूल को भी, और 'लोड अंडरस्कोर' का भी। हम ये सब क्यों कर रहे हैं? हैं? क्योंकि एपीआई को लोड करनी है इस फाइल में। और ये लिखने से एपीआई आपकी फाइल में लोड हो जाएगी। अब हम फंक्शन लिखते हैं। उससे पहले आप यह लाइन लिख दो। हम यहां पर क्लाइंट वेरिएबल के अंदर एपीआई को, जो कि फाइल में पड़ा हुआ है, यह वाली, इस एपीआई की को यहां पर क्लाइंट वेरिएबल में स्टोर कर रहे हैं। अब हम फंक्शन लिखते हैं। देखो, फंक्शन है। देखो, ये फंक्शन है, इतना। ठीक है? फंक्शन को समझते हैं। टेली सर्च फंक्शन का नाम है। जो भी यूजर की क्वेरी होगी, वो इस फंक्शन के पास जाएगी। फिर रिस्पांस वेरिएबल के अंदर, क्लाइंट क्या है? यह वाला। हमने एपीआई को यहाँ लिखा हुआ है, न? टेली सर्च की। क्लाइंट डॉट सर्च, जो भी यूजर ने क्वेरी लिखी है, वो हमने इसको पास कर दी। मैक्स रिजल्ट पांच, मतलब जो भी यूजर ने क्वेरी लिखी है, उस क्वेरी के रिलेटेड हम इंटरनेट सर्च करेंगे। टेवली API और फाइव रिजल्ट्स फETCH करेंगे और वो सारे रिजल्ट्स किस में पड़े हुए हैं? रिस्पांस वेरिएबल में। अब मेरे पास एक ब्लैंक लिस्ट है जिसमें मैं ऑर्गेनाइज्ड वे में जो भी सर्च किया है, उसको रखना चाहती हूं। तो मैंने फॉर लूप यूज किया। फॉर लूप हम क्यों यूज कर रहे हैं? क्योंकि ये जो सर्च रिजल्ट में फाइव रिजल्ट्स आए होंगे, ना। तो हमने वो सारे फाइव रिजल्ट्स लिखने हैं यहां पे रिजल्ट लिस्ट के अंदर। तो फॉर लूप लगा दिया। तो मैं टाइटल, यूआरएल और स्निपेट ये तीन वेरिएबल ले रही हूं। टाइटल के अंदर तो मैं टाइटल ले लूंगी, यूआरएल ले लूंगी, और कंटेंट ले लूंगी होटल्स के बारे में। एंड फिर मैं रिजल्ट को अपेंड कर रही हूं। किसे? ये वाली जो लिस्ट है, इसको अपेंड कर रही हूं, और ये जो सारे वेरिएबल्स हैं, इनके साथ। ठीक है? तो ये हमारा हो गया टेवली सर्च। फंक्शन। अब यही फंक्शन मैंने यहां पर कॉल किया हुआ है। देखो, टेली सर्च फंक्शन टावली टूल डॉटPY फाइल में जो पड़ा हुआ है, टूल्स फोल्डर के अंदर। तो हमने अब मॉड्यूल्स को इम्पोर्ट कर लिया। यह वाला मॉड्यूल अब आपको पता ही है, हम क्यों यूज कर रहे हैं, API की को लोड करने के लिए, है ना? तो इस तरह से API की लोड हो गई। अब हमें यहां पर यह भी लिखना पड़ेगा ना कि हमें कौन सा LLM यूज़ करना है, ग्रॉक से। तो वो लाइन लिख दो। तो देखो, चैट ग्रॉक, ये जो मॉड्यूल हमने इम्पोर्ट किया था, उसको यूज़ करके हम यह वाला जो मॉडल है, ग्रॉक पे जो पड़ा हुआ है, ये मॉडल यूज़ करना चाहते हैं। एंड गाइज, अब आप यहां पर ना, जो डेटाबेस है, उसका नाम भी देना पड़ेगा। तो देखो, हमने क्या किया? हमने PGAdmin 4 लिखा, और हमने क्या किया था? यहां पर PGAdmin 4 लिखा। फिर उस पे क्लिक किया। तो इस तरह की स्क्रीन मिल गई थी हमें, है ना? तो हम वापस चलते हैं। हैं। इस तरह से दिखेगा आपको। अब गाइज़, हमें करना क्या है? ना, हमें एक डेटाबेस बनाना है। वह डेटाबेस हमें क्यों बनाना है? क्योंकि हमारा जो मल्टीएजेंट एआई सिस्टम हम बना रहे हैं, वह क्या करेगा? यूज़र्स की कॉन्वर्सेशन स्टोर करेगा। वह कहां स्टोर करेगा? टेबल में स्टोर करेगा। टेबल किसमें होते हैं? डेटाबेस में होते हैं। तो हम न एक सेपरेट डेटाबेस बनाते हैं यहां पर। उसके अंदर जो लैंगग्राफ होगा, वह सारा यूज़र की कॉन्वर्सेशन हिस्ट्री और वह सब कुछ यहां पे सेव करेगा। ठीक है? तो डेटाबेस बनेगा कैसे? मैं सिंपल वे में बता रही हूं। सर्वर्स पे क्लिक करो। यहां पे आपको पासवर्ड पूछा जाएगा। पासवर्ड डाल देना। अब आपको डेटाबेस दिख रहे हैं। यह जो डेटाबेस है ना, बाय डिफॉल्ट मेरे केस में क्या है? यहां पे मैंने और भी डेटाबेस बनाए हुए हैं। इसलिए डैमो टू लिखा आ रहा है। यह मेरे। डाटाबेस का नाम है। लैंगग्राफ मेमोरी ये भी एक डाटाबेस का नाम है। लेकिन आपके केस में क्या होगा? आपको यहां पर सिर्फ एक ही डाटाबेस दिखेगा, पोस्टग्रेस, जो कि है बाय डिफ़ॉल्ट डाटाबेस। ठीक है? अब आप क्रिएट कैसे करोगे डाटाबेस? इस डाटाबेस के ऊपर क्लिक करना, ऐसे ब्लू दिखेगा आपको। राइट क्लिक करना। क्रिएट की ऑप्शन आ रही है। क्रिएट डाटाबेस यहां पर आ जाओ। यहां पर आप डाटाबेस का कोई भी नाम रखोगे। तो सोच लो कि हम डाटाबेस बनाना चाहते हैं, "लैंग्राफ_मेमोरी_डेमो" नाम का। यह मेरा डाटाबेस का नाम है। अगर आप चाहो, तो वही नाम रख सकते हो। नहीं तो आप जो भी नाम यहां पर डाटाबेस का लिखोगे, उसे याद रखना। वही नाम आप लैंग्राफ की एप्लीकेशन में अभी लिखोगे। तो "लैंग्राफ_मेमोरी_डेमो" और फिर आप सेव पर क्लिक कर दो। जब आपने सेव पर क्लिक किया। किया तो आपका डेटाबेस क्रिएट हो जाएगा। आपको इस तरफ दिख जाएगा। तो देखो, डेटाबेस फोर लिखा आ रहा है। तो टोटल काउंट आ जाएगा डेटाबेस का। तो यहां पे क्लिक करते हैं, तो देखते हैं हमारा डेटाबेस क्रिएट हुआ कि नहीं। देखो, पहले तो ये डेमो डेटाबेस आ रहा है। लैंग्राफ्ट मेमोरी आ रहा है, एंड उसके बाद लैंग्राफ्ट मेमोरी डेमो। तो यह मेरा डेटाबेस क्रिएट हो गया। इसके अंदर यह सब ऑलरेडी बना आएगा, आपको कुछ नहीं बनाना। ठीक है? तो अब हमें क्या करना है? ये डेटाबेस जब क्रिएट हो गया, तो अब ये डेटाबेस कहां पड़ा हुआ है? हमने क्या किया? हमने PostgreSQL को अपने पीसी पर इंस्टॉल किया। उसके अंदर एक डेटाबेस बनाया, उस डेटाबेस का नाम है लैंग्राफ्ट मेमोरी डेमो। अब हमें फ़ाइल में न इसका कनेक्शन लिखना पड़ेगा कि हमें किस डेटाबेस के साथ कनेक्ट करना है, बताना पड़ेगा ना आपको अपनी। एप्लिकेशन को उस डेटाबेस के अंदर डेटा स्टोर करना है। तो अब हम यहां पे लिखेंगे: डेटाबेस यूआरएल। तो आप यह लाइन लिख देंगे। देखिए, मैंने क्या किया: मैंने एक वेरिएबल लिया, डेटाबेस यूआरएल। यहाँ पर जो सबसे पहले लिखा हुआ है, यह डेटाबेस का नाम है। आप कौन सा डेटाबेस प्रयोग कर रहे हैं? हम PostgreSQL का इस्तेमाल कर रहे हैं, इसलिए यह लिखा है। यह यूजरनेम है। तो बाय डिफॉल्ट, जो यूजरनेम होता है, वह PostgreSQL का ही होता है। यह पासवर्ड है, जो आपने PostgreSQL को इंस्टॉल करते समय सेट किया था। यह लोकल होस्ट है, क्योंकि हम अपनी लोकल मशीन पर काम कर रहे हैं। यह पोर्ट नंबर हो सकता है या तो 5432 या 5433। जो पोर्ट नंबर आपने इंस्टॉल करते समय सेट किया है, वहाँ लिखेंगे। फिर आप लिखेंगे: डेटाबेस का नाम। हमारा डेटाबेस का नाम है: LangGraph। मेमोरी, डेमो। इसी नाम का डेटाबेस क्रिएट किया ना, अभी हमने, वो लिख दो यहां पे। तो अब हमारे पास डेटाबेस का यूआरएल भी दे दिया कि हमें इस डेटाबेस में सारी कॉन्वर्सेशन स्टोर करनी है। तो अब आप main.py फाइल में आ जाओ, और यहां पर ना, डेटाबेस के साथ भी कनेक्ट करने के लिए यह लाइन लिख दो। क्या लिखा? डेटाबेस यूआरएल को os.getenv('ENVIRONMENT_VARIABLE_NAME') से ले लिया, मतलब जो ENVIRONMENT_VARIABLE_NAME में रखा हुआ है ना, उससे हमने वो भी गेट कर लिया। हमारे पास एलएलएम और डेटाबेस आ गया। फ्लाइट टूल फाइल के अंदर, हमने API के साथ कनेक्ट करके डेटा ले रहे हैं। टेबल टूल.py फाइल में, हम जो TELEGRAM API है उसको यूज करके डेटा ले रहे हैं। तो अब हम लिखते हैं, कोड फर्स्ट टास्क क्या होगा? स्टेट क्रिएट करनी। स्टेट क्या होती है? शेयर मेमोरी। लैंग ग्राफ में हमेशा जब..
32:00भी आप एप्लीकेशन बनाओगे, आप स्टेट बनाएंगे ही बनाएंगे। स्टेट होती है शेयर्ड मेमोरी। शेयर्ड मेमोरी का मतलब है कि जो आपकी LangGraph की नोड्स होंगी, जितनी भी नोड्स होंगी या जितने भी एजेंट्स होंगे, वो सारे इसी स्टेट में से डेटा लेंगे, काम करेंगे और इसी स्टेट को अपडेट करेंगे। ये सब मैं आपको प्रैक्टिकली बताती हूं। अब तो स्टेट क्रिएट करोगे, उसके लिए सिर्फ इतना कोड चाहिए। इस कोड में अंडरस्टैंड करते हैं। हमने एक क्लास बनाई, उस क्लास का नाम रखा है ट्रैवल स्टेट। ट्रैवल स्टेट का मतलब है कस्टम स्टेट, जो हम बना रहे हैं। और इसकी पैरेंथेसिस में हमने लिखा है टाइप्ड डिक्शनरी, मतलब हम डिक्शनरी का यूज करके इसमें डेटा रखेंगे। तो यहां पे देखो, हमने इसे इम्पोर्ट किया हुआ है। और मैंने आपको बताया था न, ये वाले मॉड्यूल्स हम क्यों यूज करेंगे स्टेट बनाने के लिए। वाला मॉड्यूल अब मैं बता रही हूं। हम ये यूज़ कर रहे हैं यहां पर। अब हमने ना यहां पर टाइप डिक्ट लिखा क्यों? गाइज, देखो, यह जो स्टेट हम बनाएंगे, उसमें ना हम बता रहे हैं कि डिक्शनरी के फॉर्म में डाटा होगा। डिक्शनरी में डेटा कैसे होता है? कीज़ होती हैं, वैल्यूज़ होती हैं। तो कितनी कीज़ हम यूज़ कर रहे हैं अपनी स्टेट में? मैसेजेस, यूज़र क्वेरी, फ्लाइट रिज़ल्ट, होटल रिज़ल्ट, आइटिनरेरी और एलएलएम कॉल। ये सारी कीज़ हैं। इन कीज़ के सामने हमने मेंशन किया हुआ है फॉर्मेट, डेटा टाइप कि हम किस फॉर्मेट में डेटा रखना चाहते हैं इन कीज़ में। ओके। तो, जैसे कि जो यह मैसेजेस की है, यहां पे मैंने बताया हुआ है कि मुझे इस फॉर्मेट में डाटा रखना है। इस की के अंदर यूज़र क्वेरी में मैंने बताया हुआ है कि स्ट्रिंग फॉर्मेट में डेटा आएगा। फ्लाइट रिज़ल्ट, होटल रिज़ल्ट और आइटिनरेरी में मैंने बताया हुआ। है कि स्ट्रिंग फॉर्मेट में ही डेटा आएगा। एलएलएम कॉल में मैंने बताया है कि इन्ट फॉर्मेट में ही डेटा होगा, है ना? तो हमने एक फिक्स कर दिया कि हमें इसी फॉर्मेट में इनपुट चाहिए। इसी फॉर्मेट में आउटपुट चाहिए। मतलब जितनी भी नोड्स या जितने भी एजेंट्स आप यूज़ करोगे, ना, वह आपको इसी फॉर्मेट में इनपुट और आउटपुट देंगे। ठीक है? यह शेयर्ड स्टेट है। अब इन्हें समझते हैं, वन बाय वन। तो पहले हम समझेंगे ये मैसेजेस को। ये मैसेजेस के सामने जो लिखा हुआ है, यह क्या है? तो लिस्ट एनी मैसेज। इसका क्या मतलब? यह जितने भी मैसेजेस होंगे, चाहे वह यूजर का हो, चाहे वह एआई एजेंट ने मैसेज किया हो, चाहे वह सिस्टम प्रॉम्प्ट हो, सारे मैसेजेस एक लिस्ट में आएंगे। और ऑपरेटर `.add` का क्या मतलब है? अब यह जो ऑपरेटर मॉड्यूल है, देखो, यह भी हमने यहां पर इम्पोर्ट किया है। ना? अब इस ऑपरेटर मॉड्यूल का क्या काम होगा, कि जब भी कोई नया मैसेज आएगा, चाहे वह यूजर का मैसेज हो या वह एआई एजेंट का मैसेज हो, तो वह जो मैसेज होगा, जो पहले से लिस्ट में मौजूद है, उसके नीचे आ जाएगा। मतलब पुराने मैसेज डिलीट नहीं होंगे, पुराने जितने भी मैसेज हैं, वे सभी इस लिस्ट में रहेंगे। जब भी कोई नया मैसेज आएगा, वही पुराने मैसेजेस वाली लिस्ट अपडेट होती जाएगी, और नए मैसेज उसी लिस्ट के नीचे-नीचे ऐड होते रहेंगे। ऑपरेटर dot add का मतलब क्या है? सिंपल सा यही कि कोई भी नया मैसेज आया, यह जो हमारी लिस्ट है, जिसमें यूजर के मैसेज हैं, सिस्टम के मैसेज हैं, एआई के मैसेज हैं, इन सबको हम अपडेट करते जाएंगे। यही लिस्ट नए मैसेजेस के साथ अपडेट होती जाएगी। अब गाइज़, इसका फायदा क्या है? देखो, इसका लाभ यह होगा कि आप ना अपनी एआई एप्लीकेशन के लिए कॉन्टेक्स्ट बना रहे हो। सारे मेसेजेस आ रहे हैं। तो कॉन्टेक्स्ट मिल रहा है ना, उसको। तो ये होता है मेसेजेस के अंदर। जितने भी मेसेजेस होंगे ना, इसी फॉर्म में होंगे। लिस्ट की तरह होंगे। हम यूजर क्वेरी का क्यों इस्तेमाल कर रहे हैं? क्योंकि जो भी यूजर टाइप करेगा, वह कहां जाएगा? यूजर क्वेरी में जाएगा। मतलब हम यूजर हैं, हम इस एप्लीकेशन को इस्तेमाल कर रहे हैं। मैं ने मेसेज किया कि "प्लान अ सेवन डेज ट्रिप टू पेरिस।" तो जो मेरा वाला मेसेज होगा, वह कहां जाएगा? यूजर क्वेरी में जाएगा। फिर ये जो यूजर क्वेरी है, यह इनपुट बनेगी अगले एजेंट के लिए। तो अगला एजेंट है, मान लो, फ्लाइट एजेंट। अब फ्लाइट एजेंट यूजर क्वेरी में जो लिखा हुआ है, वह इसकी इनपुट बन गई। और फ्लाइट एजेंट ने उस पर काम किया। और फ्लाइट एजेंट ने जो उसकी आउटपुट है, फ्लाइट एजेंट का जब काम खत्म हो गया, उसने फ्लाइट्स की लिस्ट बना ली। तो फ्लाइट रिजल्ट के अंदर फ्लाइट एजेंट की आउटपुट आ जाएगी। फिर आगे है होटल रिजल्ट। होटल रिजल्ट किसके लिए इस्तेमाल हो रहा है? होटल एजेंट के लिए। होटल एजेंट अपना काम करेगा। होटल एजेंट के लिए क्या इनपुट बनेगा? यूजर की क्वेरी ही इनपुट बनेगी, उसके लिए भी। वो इस डेटा को उठाएगा। और जो होटल एजेंट होगा, वो इस डेटा से जानकारी लेगा। यह स्टेट है ना? स्टेट में डेटा पड़ा हुआ है। यूजर की क्वेरी आई। होटल एजेंट ने देखा, अच्छा, यूजर की क्वेरी यह है। उसने इस स्टेट में से यूजर की क्वेरी चुनी, अपना काम किया, और आउटपुट तैयार किया। उसकी आउटपुट तैयार कर दी। फिर वह इस स्टेट को अपडेट करेगा। इस स्टेट के अंदर होटल रिजल्ट नाम की एक की है, जिसमें कि होटल एजेंट अपनी जो आउटपुट उसने बनाया, उसे यहां स्टोर कर देगा। आप देखिए। रहे हो ना कैसे हर एजेंट अपना काम कर रहा है और उनको एक-एक की असाइनमेंट हो रखी है। उस की के अंदर वो अपना-अपना डेटा जो है, अपडेट कर रहे हैं। फिर तीसरा एजेंट है आइटनरी एजेंट। अब आइटनरी एजेंट को यूजर की क्वेरी की जरूरत नहीं है। आइटनरी एजेंट ने क्या करना है? जो फ्लाइट रिजल्ट या होटल रिजल्ट है, ये वाली जो दो आउटपुट्स हैं, जो दो एजेंट्स ने काम किया है—फ्लाइट एजेंट और होटल एजेंट ने—और उनकी आउटपुट इन कीज़ के अंदर स्टोर कर रखी है, तो आइटनरी एजेंट क्या करेगा? स्टेट में जाएगा, इन दो एजेंट्स की जो आउटपुट पड़ी हुई है, यहां पर वो लेगा और अपना काम करेगा। जब आइटनरी ने बना दी, आइटनरी एजेंट क्या करेगा? आइटनरी को कंप्लीट कर देगा, जो उसने आउटपुट क्रिएट की हैं। फिर हमारे पास है नेक्स्ट की LLM कॉल्स। इसका सिर्फ इतना ही काम है। हम देख रहे हैं कि कितनी बार मॉडल कॉल हो रही है। ठीक है? ताकि क्लोक को अगर आप कॉस्ट मॉनिटर कर रहे हो, आप देखना चाहते हो कि एलएलएम कितनी बार कॉल हो रहा है, मॉडल कितना यूज़ हो रहा है। तो आप इसके थ्रू उसका काउंट देख सकते हो। तो ये हमारी बनी हुई स्टेट है। अब हम बनाएंगे नोड्स, मतलब एजेंट्स। हर एजेंट एक नोड है, ठीक है? तो अब हम पहले नोड बनाएंगे, जो कि हम बनाएंगे फ्लाइट एजेंट। तो अब हम यहां पर बना लेते हैं पहला एजेंट, यानी फ्लाइट एजेंट। सिर्फ इतना कोड लिखना है। देखो, मैंने एक फंक्शन बनाया जिसका नाम है 'फ्लाइट एजेंट'। इस फंक्शन की इनपुट क्या होगी? इस फंक्शन की इनपुट होगी ये जो ट्रैवल स्टेट है, जो कि क्या है? ट्रैवल स्टेट एक शेयर्ड मेमोरी है। अब देखो, ट्रैवल स्टेट के अंदर ही इतनी सारी कीज़ हैं, है ना? लेकिन एक्सैक्टली क्या चाहिए फ्लाइट एजेंट को काम करने के लिए? यूजर की इनपुट ही चाहिए ना, जो यूजर ने क्वेरी की है। की। तो स्टेट में से मैंने यूजर क्वेरी की को सिर्फ पकड़ लिया। क्वेरी वैरिएबल के अंदर मैंने ये जो शेयर्ड स्टेट थी, उसमें से सिर्फ यूजर क्वेरी को पकड़ लिया और क्वेरी के अंदर स्टोर कर दिया क्वेरी वैरिएबल के अंदर। अब ये जो क्वेरी वैरिएबल है, नेक्स्ट लाइन में देखो, क्या हो रहा है? सर्च फ्लाइट फंक्शन यूज हो रहा है। ये सर्च फ्लाइट फंक्शन कौन सा है? रिमेंबर, ये देखो, स्क्रॉल करो ऊपर। मैंने सर्च फ्लाइट फंक्शन कहां से इंपोर्ट किया? फ्लाइट टूल्स डॉट पायथन फाइल से, जो कि टूल्स में पड़ी हुई है। एंड यहां पे फ्लाइट टूल्स डॉट पायथन फाइल ओपन करो। देखो, हमने सर्च फ्लाइट फंक्शन बनाया हुआ है ना, जहां पे हम एयरलाइन स्टक API को यूज कर रहे हैं आउटपुट लेने के लिए। तो वो वाला जो फंक्शन है, वह हम यहां पर यूज कर रहे हैं। सर्च फ्लाइट फंक्शन और जो यूजर की क्वेरी थी, उसे हमने यहां पे पास कर दी। अब सर्च फ्लाइट फंक्शन उसके ऊपर चलेगा और फाइव रिजल्ट्स हमें देगा। फाइव रिजल्ट्स क्यों देगा? क्योंकि फ्लाइट टूल डॉट पाय थे फाइल के अंदर हमने मेंशन किया हुआ है ना कि फाइव रिजल्ट्स गेट करने हैं। तो उसने फाइव रिजल्ट्स प्राप्त किए और फ्लाइट डेटा वेरिएबल के अंदर स्टोर कर दिए। अब जब फ्लाइट एजेंट ने काम कर लिया, फ्लाइट एजेंट का काम हो गया ना। यहां तक कि उसने सर्च फ्लाइट फंक्शन को कॉल किया और रिजल्ट को स्टोर कर दिया फ्लाइट डेटा में। अब उसका काम क्या है कि यह जो स्टेट है, इसे अपडेट करना है, आउटपुट के साथ। जो फ्लाइट एजेंट की आउटपुट थी, उसे वो आउटपुट कहां अपडेट करनी है, फ्लाइट रिजल्ट की के अंदर अपडेट करनी है। तो देखो, रिटर्न के अंदर क्या हुआ, फ्लाइट रिजल्ट, ये वाली जो है, इसके अंदर फ्लाइट डेटा उसने डाल दिया। और एक और चीज़ करी, उसने क्या करी, मैसेजेस की भी उसको अपडेट कर रहा है। क्योंकि क्योंकि हमने यहाँ पे क्या लिखा हुआ है मेसेजेस के अंदर कि जितने भी मेसेजेस होंगे चाहे वो ह्यूमन का मेसेज है, चाहे एआई का है, चाहे सिस्टम प्रोसेस का है, हर मेसेज इस लिस्ट में आना चाहिए क्योंकि इससे हम अपने एआई एप्लीकेशन को कॉन्टेक्स्ट दे रहे हैं, उसका कॉन्टेक्स्ट स्ट्रांग कर रहे हैं। तो देखो, मेसेजेस के अंदर यह वाला मेसेज भी चला गया कि फ्लाइट रिजल्ट फETCH हो गए। फिर एलएलएम कॉल को भी, यदि यूज हो रहा है तो एलएलएम कॉल को भी प्लस वन कर रहे हैं। यहाँ पे कि एलएलएम यूज हुआ है, इसकी इनक्रिमेंट कर दो, और अगर एलएलएम नहीं यूज़ हुआ तो आप इस लाइन को हटा दो। ठीक है? ये मैंने सिर्फ इसलिए लिखा ताकि आपको पता चल सके कि हम एलएलएम कॉल किस तरह से यूज़ कर रहे हैं। अगर आपको लगता है कि..
41:50मतलब अगर आप देखो यहाँ पर एलएलएम यूज़ हुआ है, इस कोड में, इस फंक्शन में हमने एलएलएम… क्या आपने इसका उपयोग किया है? अगर हां, तो एलएलएम इनवोक हो रहा है, कॉल हो रहा है, तो आप एलएलएम कॉल की को ऐसे लिखें, और प्लस वन जोड़ दें। मतलब इंक्रीमेंट हो जाएगा कि अभी एक बार एलएलएम कॉल हो चुका है। अगर नहीं, तो इसे कमेंट कर देना। ठीक है? तो हमारे केस में यहां पर एलएलएम नहीं है, तो आप इसे कमेंट कर सकते हो। तो मेरा एक एजेंट बन गया है। इस एजेंट ने क्या किया? फ्लाइट रिजल्ट की के अंदर अपना डेटा रख दिया। मैसेजेस को भी अपडेट कर दिया। अब आपने एक चीज नोट करी कि उसने स्टेट को कैसे अपडेट किया। पहले उसने स्टेट से इनपुट लिया, यूजर की क्वेरी, फिर अपना काम किया, और फिर स्टेट को अपडेट कर दिया। अब हम बनाते हैं सेकंड एजेंट। अब हमारा सेकंड एजेंट क्या है? जो होटल्स को सर्च करेगा इंटरनेट से। अब फंक्शन का नाम है होटल एजेंट। इसकी इनपुट भी क्या बनेगी? ट्रेवल स्टेट है ना? यही वाली स्टेट इसकी भी इनपुट बनेगी। तो वह लिख दिया। अब क्वेरी इसके लिए क्या क्वेरी हुई? जो यूजर की क्वेरी थी, जो यूजर ने क्वेरी लिखी थी, वही इसकी भी इनपुट बनी। देखो, स्टेट, यूजर क्वेरी, हमने सिर्फ साथ में ये लिख दिया, बेस्ट होटल्स फ़र तो। तो जैसे मान लो यहां पे यूजर ने लिखा, पेरिस, जापान, इटली, कुछ भी लिखा, तो जो भी बेस्ट होटल होंगे उस लोकेशन के लिए, वो अब सर्च किए जाएंगे टेली सर्च फ़ंक्शन को यूज़ करके। टेली सर्च याद आया, टेली टूल.पीवाई में हमने फ़ंक्शन बनाया हुआ है। टेली सर्च, जहां पे हम टेली API की यूज़ कर रहे हैं और टॉप फाइव रिज़ल्ट्स को प्राप्त कर रहे हैं। तो वो टेली सर्च फ़ंक्शन यूज़ करके बेस्ट होटल्स मिल गए। और अब इस वाले एजेंट का भी काम खत्म हो गया। अब इस एजेंट का क्या काम है? इसको स्टेट को अपडेट करना है अपने रिज़ल्ट के साथ। तो उसने होटल रिज़ल्ट की है। देखो यहाँ पे होटल रिजल्ट की जो है ट्रैवल स्टेट के अंदर उसको अपडेट करो और मैसेजेस की लिस्ट को भी अपडेट करो। वही काम हो रहा है। देखो यहाँ पे होटल रिजल्ट को अपडेट करो, यह वाले होटल रिजल्ट के साथ। और मैसेज की भी अपडेट कर दी। लिख दिया होटल इनफॉर्मेशन फेज़ और अगर LLM का यूज़ हुआ है तो LLM को फिर प्लस वन कर दो। इंक्रीमेंट कर दो। LLM कॉल इंक्रीस हो जाएगी। अब हमारे पास दो एजेंट्स बन गए। अब हमने तीसरा एजेंट(Create) बनाना है। और वो एजेंट कौन सा है? आइटिनरी एजेंट। और उस एजेंट की इनपुट क्या होगी? फ्लाइट एजेंट की आउटपुट और होटल एजेंट की आउटपुट। और जो यूज़र की क्वेरी थी। तो समझ लो ये तीनों चीजें हम उसको इनपुट देंगे। तो हम एक फंक्शन बनाएंगे आइटिनरी एजेंट के लिए। अभी यहाँ लिख देती हूँ मैं, यह फंक्शन है। फंक्शन का नाम है आइटिनरी एजेंट। उसी में। भी इनपुट कहां से मिलेगी? ट्रैवल स्टेट से, जो कि हमारी स्टेट श्रेडेड मेमोरी है। देखो, यहां पे मैं प्रॉम्प्ट बना रही हूं। प्रॉम्प्ट के अंदर ना, हम वो सारी आउटपुट्स हैं, जो दूसरे एजेंट की हैं, और जो यूजर की इनपुट थी, वो सब यहां पे लिखेंगे। देखो, मैंने लिखा "क्रिएट अ ट्रैवल आइटिनरेरी," यूजर क्वेरी यह थी। यूजर क्वेरी की मानिए, यह पड़ी हुई है। फ्लाइट रिजल्ट, फ्लाइट रिजल्ट की मानिए, यह भी पड़ा हुआ है। होटल रिजल्ट, होटल रिजल्ट की भी पड़ा है। तो मैंने ये जो तीनों चीजें थी, एक प्रॉम्प्ट वेरिएबल में डालकर अब एलएलएम को देने हैं, क्योंकि एलएलएम ही आइटिनरेरी बनाएगा ना। अब देखो, रिस्पांस वेरिएबल के अंदर मैं एलएलएम डॉट इनवोक्क लिख रही हूं। यहां पर मैं इस एजेंट के अंदर, मैं एलएलएम का उपयोग कर रही हूं। इससे पहले जो दो एजेंट हमने बनाए थे, वहां पे एलएलएम का उपयोग नहीं हो रहा था, but अब एलएलएम यहां पे यूज हो रहा है। है क्योंकि यहाँ पे मैंने लिखा है LLM डॉट इनवोक और यहाँ पे लैम 3.370 बिलियन पैरामीटर वाला जो मॉडल है, वो यूज़ होगा। अब जब आप एलएलएम को यूज़ करना चाहते हो, पहले आप एलएलएम को बताओगे कि रिएक्ट कैसे करना है, बिहेवियर क्या होना चाहिए एलएलएम का। तो हम यहाँ पे एलएलएम को बता रहे हैं, "यू आर एन एक्सपोर्ट ट्रैवल प्लानर" कि आप ट्रैवल प्लानर हो, उसके अनुसार काम करना। फिर हम यह जो यूजर की प्रांप्ट थी न, यह देखो, यह वाली जो प्रांप्ट है, यह जो यूजर की प्रांप्ट है, यह इसको कंटेंट में दे रहे हैं। अब जब यह प्रांप्ट और यह जो सिस्टम मैसेज है, एलएलएम के पास गया, तो एलएलएम ने उसके ऊपर काम किया और रिस्पांस जनरेट कर दिया, रिस्पांस वेरिएबल के अंदर। तो अब आइटिनरी एजेंट का काम खत्म हो गया क्योंकि उसने एलएलएम को यूज़ करके आइटिनरी क्रिएट कर दी। अब होगा क्या? हमें स्टेट को अपडेट करना है, स्टेट के..
46:44अंदर आइटिनरी नाम की क्लिक हुई है, ना? देखो, स्टेट के अंदर आइटिनरी नाम की क्लिक हुई है। हम इसे अपडेट करेंगे और मैसेजेस को भी अपडेट करना है। देखो, वही हो रहा है। आइटिनरी को हमने अपडेट कर दिया। रिस्पांस डॉट कंटेंट। गैज़, यह डॉट कंटेंट क्यों लिखा है? क्योंकि जब एलएलएम की आउटपुट आती है, न, उसमें और भी चीजें साथ में आती हैं आउटपुट में, तो हमें और कुछ चाहिए नहीं। हमें तो सिर्फ कंटेंट चाहिए, न, जो हमने आइटिनरी बनाने को बोला है, तो हमें उसका सिर्फ कंटेंट चाहिए। तो हमने रिस्पांस डॉट कंटेंट लिख दिया आइटिनरी के अंदर। मैसेजेस के अंदर भी जो रिस्पांस था, न, वो मैसेजेस में भी हम दिखा रहे हैं। क्योंकि हमने मैसेजेस की भी अपडेट करनी है, सारे मैसेजेस के साथ। चाहे यूजर का मैसेज है, चाहे एआई का मैसेज है। तो इसलिए मैसेजेस भी अपडेट हो रही हैं। और यहाँ पर एलएलएम कॉल को..
47:33भी हम इंक्रीमेंट कर रहे हैं। एंड गैज़ देखो, यहां पर असल में जरूरत है एलएलएम कॉल को इंक्रीमेंट करने की, क्योंकि यहां पर असल में एलएलएम कॉल का यूज़ हो रहा है। ऊपर वाले दो फंक्शंस में नहीं यूज़ हुआ था। तो आप उसे कमेंट भी कर सकते हो। तो ये हमारा बन गया तीसरा एजेंट। अब हम बनाएंगे एक चौथा एजेंट, जिसका नाम है फाइनल एजेंट, जिसका काम है बहुत अच्छे से सारा कुछ लेकर, जो भी अभी तक एजेंट्स ने काम किया है, फाइनल एजेंट उसका आउटपुट जनरेट करेगा। तो उसके लिए हम यहां पर एक और फंक्शन बना लेते हैं। देखो, इसका नाम मैंने रखा है फाइनल एजेंट।Again, सेट, इसकी इनपुट बनेगी। अब इसकी प्रॉम्प्ट देखो, मैंने क्या बनाई है। मैंने कहा, "फाइनल में मैंने लिखा है, जनरेट फाइनल ट्रैवल रिस्पांस, जिसमें फ्लाइट की डिटेल, फ्लाइट रिजल्ट की सिलेलेक्ट लो, होटल की डिटेल, होटल रिजल्ट की सिलेक्ट लो, आइटिनरि।" की डिटेल आइटिनरी की से लो। ठीक है? स्टेट में जो शेयर्ड स्टेट है, उसमें ये सारा डेटा पड़ा हुआ है। ये सारी इनफार्मेशन वहां से लो। और फिर रिस्पांस जनरेट करो। देखो, एलएलएम कॉल हो रहा है दोबारा। और मैं उसको यह जो फाइनल प्रेप है, उसको इनपुट दे रही हूं, और उसने रिस्पांस जनरेट कर दिया। अब मैसेजेस की लिस्ट में मैं वो रिस्पांस अपडेट कर रही हूं। एलएलएम कॉल भी अपडेट हो जाएगी क्योंकि एलएलएम यहां पे भी इस्तेमाल हुआ है। तो मैंने बना दिए चारों के चारों एजेंट्स। अब हमने एजेंट्स तो लिख दिए, कोड लिख दिया। अभी ये कुछ काम नहीं करेंगे। हमें अब LangGraph में जब भी कोई काम करना हो, ना, पहले ग्राफ को क्रिएट करना पड़ता है। उस ग्राफ के अंदर नोड्स को ऐड करना होता है, फिर उन नोड्स के बीच में कनेक्शन स्थापित करना होता है। हमें बताना पड़ेगा ना, कि पहले ये नोड काम करेगा, फिर ये नोड। तो। कनेक्शन स्थापित करना पड़ेगा कि कैसे-कैसे वर्कफ़्लो चलेगा। उसके बाद हम उस ग्राफ़ को कंपाइल करते हैं। कंपाइल करने के बाद ही आप एक्चुअल आउटपुट देख सकते हैं अपनी एप्लिकेशन का, जो आप LangGraph में बनाते हो। तो अब हम यह सब काम करेंगे। तो पहले हम क्या कर रहे हैं? ग्राफ़ को क्रिएट करेंगे। देखो, सिंपल, आपको एक लाइन लिखनी है और ग्राफ़ क्रिएट हो जाएगा। आपको याद है, स्टेट ग्राफ हमने ऊपर डेफइन किया था, इम्पोर्ट किया था यहाँ पर। देखो, ये रहा स्टेट ग्राफ़। हमने इम्पोर्ट किया है ना? तो कभी भी आपको ग्राफ़ बनाना हो तो आप क्या करोगे? स्टेट ग्राफ़ को इम्पोर्ट करोगे ऐसे और उसको अब एक स्टेट प्रोवाइड कर दोगे। ट्रैवल स्टेट, आपको पता ही है, ये शेयर्ड मेमोरी है। सारी नोड्स, सारे एजेंट्स इसको यूज़ करेंगे। तो वो प्रोवाइड कर दी, और ग्राफ़ को वेरिएबल में रख दिया। अब हम इस ग्राफ़ के अंदर नोड्स..
50:15अच्छी बात है। हमारे पास चार एजेंट्स हैं, तो हमें उनके लिए नोड्स चाहिए। तो देखो, इस तरह से आप नोड्स को एड करता हो। ग्राफ़.ऐड नोड। एड नोड को इस्तेमाल करके आप नोड्स एड करते हो। पहले तो आप लिखते हो नोड का नाम। यहाँ पे आप तय करते हो कि आपको उस नोड का क्या नाम रखना है। तो मैंने पहली नोड का नाम रख दिया है 'फ्लाइट एजेंट'। और यहाँ पर आप लिखते हो कि वो Python फंक्शन जिसमें आपने वो सारा काम लिखा होता है, जो यह नोड करेगी। तो हमने 'फ्लाइट एजेंट' का एक फंक्शन बनाया है। यहाँ देखो, यह जो 'फ्लाइट एजेंट' मैंने फंक्शन बनाया है, इस फंक्शन को मैंने यहाँ लिखा है। हमारी पहली नोड का नाम है 'फ्लाइट एजेंट', और उसमें ये वाला Python फंक्शन लिख दिया। मतलब यह नोड ये वाला काम करेगी। फिर दूसरी नोड मैंने बनाई है 'होटल एजेंट' के नाम से, और 'होटल एजेंट' का Python फंक्शन इसको दे दीया। यहाँ पर। तीसरी नोड का नाम मैंने रखा है 'आइटिनरी'। एजेंट और उसमें आइटिनरी एजेंट जो पाइथन फंक्शन है, वो काम करेगा। और फोर्थ नोड है फाइनल एजेंट। इसमें जो मैंने फाइनल एजेंट के रूप में पाइथन फंक्शन बनाया है, वो काम करेगा। अब चारों एजेंट्स लिख दिए हैं। अब मुझे इनके अंदर कनेक्शन स्थापित करना पड़ेगा, वर्क फ्लो डिफाइन करना पड़ेगा कि कैसे-कैसे काम चलेगा। तो उसके लिए आप ये लिख देंगे। देखो, ये लाइंस मैंने क्या लिखा? ग्राफ़.डॉट ऐड एज। जब आपको कनेक्शन बनाना हो, तब आप 'एड एज' लिखते हो। सबसे पहले काम शुरू होगा स्टार्ट नोड से और काम खत्म होगा एंड नोड पर। अब ये स्टार्ट और एंड क्या हैं? दोबारा स्क्रॉल करके ऊपर जाओ और देखो, यहां पे स्टेट ग्राफ़ के साथ लिखा हुआ है ना। मैंने 'स्टार्ट' और 'एंड' ये स्टार्ट और एंड दो नोड्स हैं। ये इनबिल्ट नोड्स होती हैं, लंग ग्राफ़ में पहले ही आती हैं। आपको बनाने की जरूरत नहीं होती। एंड काम जब..
51:58भी स्टार्ट होगा, वह स्टार्ट नोड से होगा। एंड खत्म काम हमेशा एंड नोड पर होगा। तो पहले मैंने कहा स्टार्ट नोड आए। स्टार्ट नोड के बाद फ्लाइट एजेंट। मैं स्टार्ट नोड को कनेक्ट कर रही हूं, किसके साथ? फ्लाइट एजेंट नोड के साथ। फिर फ्लाइट एजेंट को कनेक्ट कर रही हूं होटल एजेंट के साथ। फिर होटल एजेंट के बाद मैं कनेक्ट कर रही हूं आइटनरी एजेंट। फिर आइटनरी एजेंट को कनेक्ट कर रहे हैं फाइनल एजेंट के साथ। एंड फाइनल एजेंट को कनेक्ट हो रहा है एंड नोड के साथ। तो ये मैंने ग्राफ के कनेक्शन भी बना दिए। नोट्स कैसे काम करेगी, वह भी बता दिया। अब हमें इसको कंपाइल करना है, क्योंकि अभी तक जो हमने बनाया है, वह सिर्फ एक ब्लूप्रिंट है। इससे कुछ होगा नहीं। आपको पहले इसको कंपाइल करना पड़ेगा। लेकिन दोस्तों, ग्राफ को कंपाइल करने से पहले, हमें थोड़ा सा मेमोरी का भी काम करना है, क्योंकि..
52:50मेमोरी भी इस्तेमाल करनी है ना। याद है ना हमने पोस्टग्रेसक्विल का यूआरएल यूज करना है लॉन्ग टर्म मेमोरी के लिए। तो उसका जो काम है, वो करते हैं पहले फिर ग्राफ को कंपाइल करते हैं। तो देखो, इसके लिए आपको यह तीन लाइनें लिखनी हैं। मैंने क्या किया? एक वेरिएबल लिया। इसके अंदर आपको याद है, डेटाबेस यूआरएल क्या था? ये डेटाबेस यूआरएल। यहां पर देखो, हमने डेटाबेस यूआरएल को एनवी फाइल से इम्पोर्ट कर रहे हैं। एनवी फाइल में देखो, डेटाबेस यूआरएल। देखो, ये वाला डेटाबेस यूआरएल। यहां पर हम बता रहे हैं कि पोस्टग्रेसक्विल के अंदर, मेरे को यह जो डेटाबेस है, लैंगग्राफ मेमोरी डेमो डेटाबेस, इसके अंदर डेटा स्टोर करना है। तो ये वॉल वाली चीज़, जो है, हम यहां पर मेंशन कर रहे हैं। कनेक्ट कर रहे हैं, मुझे इस डेटाबेस के साथ कनेक्ट करना है। और फिर चेक पॉइंटर वेरिएबल के अंदर, यह जो मॉड्यूल हम इम्पोर्ट कर चुके हैं। है ना, ऊपर देखो, ये वाला मॉड्यूल मैंने आपको बताया था। ये मॉड्यूल क्यों चाहिए आपके LangGraph के कोड को डेटाबेस के साथ कनेक्ट करने के लिए? तो इसको यूज करके अब मैं यह जो डेटाबेस URL है, जिसमें पूरी डिटेल पड़ी है कि किसके साथ कनेक्ट करना है, कौन से डेटाबेस के साथ कनेक्ट करना है, वो प्रोवाइड कर रहे हैं। तो होगा क्या, इस लाइन से हम अपने LangGraph को कनेक्ट कर रहे हैं डेटाबेस के साथ। और ये रख दिया मैंने चेकपॉइंट में। फिर चेकपॉइंट को सेटअप करते हैं। इतना ही लिखना है। अब आप मेमोरी यूज कर सकते हो, मतलब डेटाबेस यूज कर सकते हो कन्वर्सेशन को स्टोर करने के लिए। अब हम ग्राफ को कंपाइल करेंगे। कौन से ग्राफ को? ये जो ग्राफ हमने बनाया है। तो ग्राफ को कंपाइल करने के लिए आप सिर्फ इतना लिखोगे। मैंने एक वेरिएबल लिया, उसके अंदर ग्राफ.कंपाइल और चेकपॉइंट के अंदर यह वाला। जो चेक पॉइंटर है, ये प्रोवाइड कर दिया। मतलब, मैं बता रही हूं डेटाबेस डिटेल दे रही हूं, जिसमें सारा कुछ मुझे सेव करना है। कन्वर्सेशन सेव करनी है। तो अब हमने एप्लीकेशन बना ली। अब इसे रन करते हैं और इसकी आउटपुट देखते हैं। तो गैस पहले तो हम कमांड प्रॉम्प्ट से ही इसे रन करके देखते हैं। एक बार देख लेंगे कि सारे एजेंट ठीक से चल रहे हैं। अगर हमारे सारे एजेंट सही से चल रहे होंगे, तो फिर इसका फ्रंटेंड भी डिज़ाइन करेंगे Streamlit का यूज़ करके। उसके लिए आप ये लिख दो। देखो, मैंने क्या किया? इफ नेम इक्वल्स टू main कॉन्फ़िग और ये चीज़ बहुत इम्पॉर्टेंट है। अब ये क्या है? देखो, जब हम आपको पता है, सेशंस कैसे यूज़ होते हैं, राइट? हर सेशन में एक सेशन आईडी होती है। सेशन आईडी यूनिक होती है। हर सेशन के लिए एक सेशन आईडी होती है, राइट? तो उसी तरह से ना, जब आप LangGraph में काम करते हो। और आप डेटा स्टोर करना चाहते हो मेमोरी में तो हर यूजर के लिए न एक थ्रेड आईडी होती है। तो देखो यहां पे लिखा हुआ है मैंने थ्रेड आईडी, यूजर आरोही। तो अब यह जो यूजर आरोही है ना, इसी थ्रेड आईडी से आपके एजेंट्स को, आपकी एआई एप्लीकेशन को पता चलता है कि किस यूजर की बात हो रही है। Suppose, मैंने आज कुछ बात की इस एप्लीकेशन से, एआई एप्लीकेशन से, दो दिन बाद दोबारा बात कर रही हूं। ठीक है? तो इसी थ्रेड आईडी से पता चलेगा कि इस यूजर ने पहले बात कर रखी है, एंड डेटाबेस से, फिर उसकी सारी कॉन्वर्सेशन अ जो हमारा एआई एप्लीकेशन होगा, वह फETCH करेगा। हमें बेहतर रिजल्ट्स देने के लिए। तो, यह जो थ्रेड आईडी है, यह बहुत जरूरी होती है। तो, हमने यहां पे थ्रेड आईडी मेंशन कर दी। इस तरह से आप मेंशन करते हो कॉन्फ़िग, फिर थ्रेड आईडी के अंदर, यहां पे प्रोवाइड कर दो, थ्रेड आईडी। अब यूजर इनपुट। तो, मैंने आपको। बताना चाह रहा हूं कि हम अभी क्या कर रहे हैं? टर्मिनल से ही इनपुट देंगे। तो, उसके लिए टर्मिनल से इनपुट लेने के लिए आप ऐसे लिख सकते हो: इनपुट। ऐंटर योर ट्रैवल रिक्वेस्ट। तो यहां पे क्या होगा? यूजर इनपुट टाइप कर सकता है। फिर हम ऐप को कॉल कर रहे हैं। ये जो ऐप हमने बनाई है, याद रखिए हमने ऐप को कंपाइल किया न, यानी ऐप वेरिएबल में तो मैं उस ऐप को कॉल कर रही हूं। उस ऐप को यूजर की इनपुट प्रोवाइड कर रही हूं। ठीक है? फिर देखो, आपने नोट किया ये सब क्या हैं? ये सारी कीज हैं हमारी स्टेट की शेयर्ड मेमोरी की। तो, यूजर क्वेरी की के अंदर मैंने यह जो यूजर वाली इनपुट थी, यह तो दे दी। बट बाकी सारी कीज अभी ब्लैंक हैं, खाली हैं। क्योंकि ये कीज कब काम आएंगी? जब सारे एजेंट्स अपना-अपना काम करेंगे। हमने सिर्फ स्टेट में एक इनपुट दे दी है, जो यूजर ने दी है। अब यहां पर मैंने कॉन्फ़िग भी..
57:20प्रोवाइड कर दी। कॉन्फ़िग क्या थी? यह वाली यूज़र की थ्रेड आईडी। एंड दैट्स इट। अब हम रिस्पांस को स्क्रीन पे प्रिंट कराएंगे। सेव कर दो। फाइल का क्या नाम है? मेन.py। इसको रन करते हैं। तो आप यहाँ पे आ जाओ। हम यहाँ लिखते हैं Python main.py। एंटर योर रिक्वेस्ट। यहाँ पे लिख दो प्लान ए सेवन डे ट्रिप एंड अभी एंटर कर दो। तो देखो, आपको आउटपुट मिल गई। देख रहे हो, पूरे सेवन डे की आइटिनरी मिल गई। एंड अब स्क्रॉल करके यहाँ पे देखो, होटल इनफोरमेशन आ रही है। फ्लाइट इनफोरमेशन आ रही है। एंड शुरू से देखते हैं सारा। देखो, फाइनल रिस्पांस पूरे सैवन डे का ट्रिप आ गया। देख रहे हो तो इस तरह से आप एप्लिकेशन बना सकते हो, मल्टी-एजेंट एप्लिकेशन। तो अभी तो क्या था, हमने इनपुट कहाँ से दी? टर्मिनल से इनपुट दी। टर्मिनल पे आउटपुट मिल गई। अब हम बनाना चाहते हैं इसका फ्रंटएंड भी, तो हम स्टिमुलेट यूज़ करेंगे। करेंगे तो एक आप सेपरेट फाइल बना लो, यहां पर इसको उस नाम दे दो 'फ्रंटेंड.py' और यहां पर ना, अब हम क्या करेंगे, देखो, कोड हमने सारा वही रखना है जो 'मेन.py' फाइल में है। तो हम 'मेन.py' को जैसे मॉड्यूल को इम्पोर्ट करते हैं, ना, 'मेन.py' फाइल वाला सारा कोड यहां पे इम्पोर्ट कर लेंगे और स्ट्रीमलिट का सारा कोड यहां लिख देंगे। साथ में, मतलब ऐसे बोल रही हूं मैं, हमने स्ट्रीमलिट को इम्पोर्ट कर लिया, ये सारे मॉड्यूल्स को इम्पोर्ट कर लिया। सिर्फ मैंने क्या किया? 'मेन फ्रोम मेन' — मेन क्या है? मेरी 'मेन.py' फाइल। 'इम्पोर्ट ऐप' — ऐप ही बनाई है ना हमने, उसमें याद है आपको, ये वाली ऐप जिसमें हमने ग्राफ को कम्पाइल किया है। तो सारा कोड ऑलरेडी इसमें अपने आप यूज़ हो जाएगा। मैं इस ऐप को इम्पोर्ट कर रही हूं 'मेन.py' फाइल से। सारा एजेंट वाला कोड, सारी एप्लिकेशन सब वहां से आ रहा है। अब मैं सिर्फ..
59:36यहां पे डिजाइनिंग वाला पार्ट करूंगी। डिजाइनिंग का मतलब ये है कि जो साइडबार आ रहा है, जो भी यहां लिखा आ रहा है, ये पिक्चर्स कैसे आ रही हैं, ये हेडिंग कैसे आ रही है, ये टेक्स्ट बॉक्स जहां पे हम मेंशन कर रहे हैं, ये बटन, ये सारा डिजाइनिंग वाला काम है, वो सारा मैं इस पेज पर करूंगी। तो मैंने क्या किया ना, सारा कोड यहां पे पेस्ट कर दिया। अब मैं आपको समझा देती हूं कि यहां पे हो क्या रहा है। तो देखो, सबसे पहले STREAMLIT मतलब, हम पेज का सेटअप कर रहे हैं। पेज को टाइटल दे रहे हैं, आइकॉन दे रहे हैं, लेआउट बता रहे हैं। तो टाइटल है हमारा "एआई ट्रैवल बुकिंग सिस्टम"। यह जो लिखा आ रहा है और यह जो आइकॉन दिख रहा है, यहां पे यह किसके थ्रू आया? इस वाली लाइन के थ्रू आया। उसके बाद आप देख रहे हो, STREAMLIT डॉट Markdown, मैंने स्टाइल टैग लगाया हुआ है। स्टाइल टैग के अंदर ना..
01:00:25फिर हम बहुत सारी क्लासेस बनाई हुई हैं। इनमें हम सिर्फ कलर, विड्थ, हाइट, डिस्प्ले कैसा देना है, वो सब लिखा हुआ है। तो इसको डिटेल में जाने का कुछ ऐसा नहीं है, इतना ज्यादा नहीं। तो आप देख सकते हो, सिर्फ बैकग्राउंड कलर कौन सा रखना है, बॉर्डर कैसा होना चाहिए, कलर कैसा होना चाहिए, फॉन्ट कौन सा रखना है, तो यह सब वही लिखा हुआ है स्टाइल टैग के अंदर। स्क्रॉल करते जाओ। जहां पे स्टाइल टैग बंद होगा, ना, यहां तक, ये सारा डिजाइनिंग वाला पार्ट है। डिजाइनिंग से मतलब जैसे ये बॉर्डर ऐसे राउंड हो रखा है, ये लिखा आ रहा है। इसके ऊपर मैं ऐसे माउस लेके जा रही हूं। ये जो इफ़ेक्ट आ रहा है, ये जो आइकॉन आ रहे हैं, है ना? ये सारा जो बॉर्डर का रंग है, फॉन्ट कौन सा यूज़ करना है, ये सारा उसका है। उसके बाद देखो, यहां पे साइडबार शुरू हो गया। साइडबार मतलब ये वाला जो पार्ट है, इसका कोड। है, यहाँ पे। साइडबार में सारी जानकारी दी हुई है। हमने डिव्स का इस्तेमाल किया हुआ है। सबसे पहले डिव में यह वाली तस्वीर लगी हुई है, और यह लिखा हुआ है — AI Travel Planner। देख रहे हो, यह तस्वीर और AI Travel Planner। इसी तरह से वन बाय वन, फिर यह सारी जानकारी। जो भी चीजें हैं, वो सारी साइडबार में लिखी हुई हैं। देख रहे हो? तो आप स्क्रॉल करते जाओ, पता लग जाएगा। यह तक साइडबार है। फिर आ गया वह हिस्सा। यहाँ पर क्या है? यह जो सेंटर वाला हिस्सा है, उसकी बात हो रही है। कितनी इमेजिज़ लगी हुई हैं? पाँच इमेजिज़ हैं। तो, यह सारी इमेजेज यहाँ पर दी हुई हैं। तो, अगर आपको कुछ एडिट करना है, नाम बदलना है, तो आप यहाँ कर सकते हो। देख रहे हो, यह जो लिखा हुआ है और पीछे बैकग्राउंड में इमेज है। यह जो लिखा हुआ है, यहाँ पर इमेजेज़ हैं। फिर उसके..
01:02:01बाद, ये जो कॉलम्स हैं जिनमें ये चीजें लिखी हुई हैं, ये कॉलम्स भी आप यहां पे देख सकते हो। फिर जो बटन बनाया हुआ है, "जनरेट माय ट्रैवल प्लान", इसकी जगह कुछ और लिखना है। कोई आइकॉन चेंज करना है तो एसटी डॉट बटन से बटन बनता है, तो वो लिखा हुआ है यहां पे। फिर उसके बाद जो एजेंट पाइपलाइन है, ये जो एजेंट पाइपलाइन दिख रही है, यहां पे ये सारी एजेंट पाइपलाइन मौजूद है। तो कुछ भी बदलाव करने हैं, आप इस सेक्शन में कर सकते हैं। तो इसी तरह से यह फिर जो आउटपुट आएगी, जब हम इस पर क्लिक करेंगे, तो जब मैंने "जनरेट प्लान" पर क्लिक किया, तो यह जो आउटपुट दिख रही है, यह सारी आउटपुट का कोड है। देख रहे हो कितनी नोड्स हैं हमारे पास? हम स्क्रीन पे फ़्लाइट एजेंट की आउटपुट भी दिखा रहे हैं, होटल एजेंट की आउटपुट भी, आइटिनररी एजेंट की आउटपुट भी, फाइनल एजेंट की। हमकी आउटपुट दिखा रहे हैं, है ना? सारी आउटपुट्स दिखा रहे हैं ना, वो इसके कारण आ रही हैं। तो आप स्क्रॉल करें। उसके बाद यह जो बटन आ रहा है, अगर आप इस पर क्लिक करते हो, तो पूरा प्लान भी डाउनलोड हो जाता है। तो यह सारा डिजाइन न ही इसी फाइल में पड़ा हुआ है। तो यह सारा डिजाइन न ही इसी फाइल में पड़ा हुआ है। तो गाइज, मैंने इस कोड का लिंक डिस्क्रिप्शन सेक्शन में दे दिया है। यह कोड आप वहां से ले सकते हो। और अगर आपको मेरे वीडियो हेल्पफुल लगते हैं, तो प्लीज वीडियो को लाइक करना, और यदि आपने अभी तक सब्सक्राइब नहीं किया है, तो चैनल को सब्सक्राइब कर लें। कुछ सुझाव हो तो कमेंट में जरूर बताएं। धन्यवाद वाचिंग के लिए।