1. लैंगग्राफ का परिचय और आवश्यकता [1]

लैंगग्राफ एक ओपन-सोर्स फ्रेमवर्क है जो जटिल AI एजेंट वर्कफ़्लो बनाने में मदद करता है, जिससे AI चैटबॉट वास्तविक व्यावसायिक कार्यों को संभाल सकते हैं।

1.1. लैंगग्राफ की आवश्यकता [1]

  1. AI एजेंटों की बढ़ती मांग [1]
    1. 2026 तक, AI चैटबॉट और एजेंटों का उपयोग बढ़ गया है, लेकिन एक बड़ी चुनौती वास्तविक व्यावसायिक कार्यों को संभालने वाले एजेंट बनाना है। [0]
    2. लैंगग्राफ को ऐसे एजेंट बनाने के लिए डिज़ाइन किया गया है जो ग्राहक सहायता जैसे जटिल कार्यों को संभाल सकें, जिसमें वास्तविक समय में उत्पाद कैटलॉग जानना, वापसी नीतियों का पालन करना, लाइव ऑर्डर देखना और जोखिम भरे कार्यों के लिए मानव हस्तक्षेप शामिल है। [3]
  2. सीधी रेखा वाले AI मॉडल की सीमाएँ [11]
    1. अधिकांश वर्तमान AI सुविधाएँ एक मॉडल को एक बार कॉल करने, प्रॉम्प्ट इनपुट करने और उत्तर प्राप्त करने तक सीमित हैं, जो एक सीधी रेखा की तरह है। [11]
    2. हालाँकि, वास्तविक ग्राहक सहायता प्रवाह सीधा नहीं होता है, जैसे बैंक में कॉल करना जहाँ एक रिसेप्शनिस्ट आपको क्रेडिट कार्ड विशेषज्ञ या धोखाधड़ी टीम के पास भेजता है, या सीधे सामान्य जानकारी प्रदान करता है। [13]
  3. संदर्भ अधिभार (Context Overload) से बचना [21]
    1. जटिल प्रश्नों को सही ज्ञान, उपकरण और अधिकार वाले विशेषज्ञ को भेजा जाता है, जबकि सरल प्रश्नों को तुरंत संभाला जाता है। [21]
    2. एक ही व्यक्ति के लिए सब कुछ जानना और सब कुछ एक्सेस करना भारी होगा, जिसे AI एजेंटों में संदर्भ अधिभार (context overload) कहा जाता है। [25]
    3. संदर्भ अधिभार तब होता है जब एक LLM (लार्ज लैंग्वेज मॉडल) की प्रभावशीलता कम हो जाती है क्योंकि उसे एक साथ बहुत अधिक जानकारी संभालनी पड़ती है। [27]
  4. लैंगग्राफ का व्यावसायिक मूल्य [28]
    1. लैंगग्राफ ऐसे वर्कफ़्लो को परिभाषित करने के लिए एक फ्रेमवर्क है जहाँ एक एजेंट अपना अगला कदम खुद चुनता है, जैसे कि किसे सौंपना है, कब कुछ देखना है, या कब मानव की प्रतीक्षा करनी है। [28]
    2. ऐसे एजेंट बड़े पैमाने पर नियमित टिकटों को संभाल सकते हैं और लगातार काम कर सकते हैं, जिससे व्यवसाय अपनी वृद्धि को बढ़ा सकते हैं और बढ़ती ग्राहक सहायता टिकटों को संभाल सकते हैं। [31]
    3. "क्या आप एजेंट बना सकते हैं?" वर्तमान में नौकरी के विज्ञापनों में सबसे अधिक मांग वाली कौशलों में से एक है, और लैंगग्राफ इस मांग को पूरा करने में मदद करने वाला ओपन-सोर्स फ्रेमवर्क है। [33]

1.2. लैंगग्राफ में सोचना: फ़्लोचार्ट बनाना [34]

  1. लैंगग्राफ को समझना [34]
    1. लैंगग्राफ को समझने के लिए, सबसे उपयोगी आदत कोड लिखने से पहले या AI कोडिंग सहायक से कोड लिखवाने से पहले फ़्लोचार्ट (जिसे ग्राफ भी कहा जाता है) बनाना है। [35]
    2. एक लैंगग्राफ ऐप मूल रूप से एक फ़्लोचार्ट है जो चलता है या "प्रवाहित" होता है। [39]
  2. लैंगग्राफ के मुख्य घटक [41]
    1. लैंगग्राफ में, फ़्लोचार्ट या ग्राफ कुछ मुख्य घटकों से बना होता है: नोड्स (nodes), एजेस (edges), और स्टेट (state)। [41]
    2. नोड्स: ये फ़्लोचार्ट में बक्से होते हैं, और प्रत्येक बक्सा एक काम करता है। [44]
    3. एजेस: ये एक बक्से से अगले बक्से तक के तीर होते हैं, जो निश्चित चरणों को दर्शाते हैं जो हमेशा एक ही क्रम में चलते हैं। [45]
      1. कुछ एजेस कंडीशनल एजेस (conditional edges) होते हैं, जहाँ ग्राफ अब तक की जानकारी के आधार पर तय करता है कि अगला बक्सा कौन सा होगा। [47]
      2. उदाहरण के लिए, बैंक रिसेप्शनिस्ट आपको आपकी पूछताछ के आधार पर एक अलग विशेषज्ञ के पास भेजता है, जो एक कंडीशनल एज है। [48]
    4. स्टेट: यह कॉल में एक व्यक्ति से दूसरे व्यक्ति तक चलने वाले नोट्स की तरह है, जिसमें खाते की जानकारी और अन्य विवरण शामिल होते हैं। [50]
      1. स्टेट एक साझा नोटपैड है जिसे हर कदम पढ़ता, लिखता और अगले कदम को सौंपता है, ताकि विशेषज्ञ को पहले से ही जानकारी हो और आपको कहानी दोहराने की आवश्यकता न पड़े। [52]
  3. एक नया नोड कब बनाना है [53]
    1. लैंगग्राफ के साथ निर्माण में वास्तविक कौशल यह तय करना है कि क्या एक कदम को अपना नोड मिलना चाहिए। [53]
    2. दो प्रश्न यह स्पष्ट करने में मदद कर सकते हैं कि क्या कुछ अपना नोड है:
      1. यह कदम किस प्रकार का काम है? [55]
        1. LLM स्टेप तर्क करता है या लिखता है। [56]
        2. डेटा स्टेप कुछ देखता है। [57]
        3. एक्शन स्टेप कुछ बदलता है। [58]
        4. यूजर इनपुट स्टेप मानव की प्रतीक्षा करता है। [59]
        5. यदि आपका कदम इन चार में से एक है, तो यह एक नोड है। [60]
      2. क्या यहाँ कोई सीमा है? [61]
        1. एक सीमा एक निर्णय, एक विराम, या एक लूप जैसी कुछ होती है। [61]
        2. जहाँ भी उत्तर "हाँ" है, एक नया बक्सा काटें। [62]
    3. इन चरणों को खोजने का सबसे अच्छा तरीका यह है कि आप अपने ग्राहकों द्वारा पूछे जाने वाले वास्तविक प्रश्नों के माध्यम से चलें और प्रत्येक प्रश्न के लिए पूछें कि चैटबॉट को इसे संभालने के लिए क्या करना होगा। [63]

2. हेयर केयर सपोर्ट बॉट के लिए फ़्लोचार्ट बनाना [67]

यह खंड एक हेयर केयर कंपनी के लिए एक सपोर्ट चैटबॉट के लिए एक फ़्लोचार्ट बनाने की प्रक्रिया का वर्णन करता है, जिसमें विभिन्न प्रकार के प्रश्नों को संभालने के लिए नोड्स, एजेस और स्टेट का उपयोग किया जाता है।

2.1. प्रारंभिक फ़्लोचार्ट और इरादे का वर्गीकरण [67]

  1. चैटबॉट का उद्देश्य [67]
    1. एक हेयर केयर कंपनी के लिए एक सपोर्ट चैटबॉट बनाना है जो तीन चीजों को संभाल सके: सामान्य प्रश्न, उत्पाद प्रश्न, और ऑर्डर और वापसी। [68]
    2. फ़्लोचार्ट एक खाली कैनवास से शुरू होता है जिसमें केवल शुरुआत और अंत बिंदु होते हैं। [74]
  2. इरादे का वर्गीकरण (Classify Intent) नोड [76]
    1. ग्राहक का संदेश शुरू बिंदु पर प्रवेश करता है, और पहला नोड यह निर्धारित करने के लिए आवश्यक है कि संदेश तीन परिदृश्यों में से किससे संबंधित है: सामान्य प्रश्न, उत्पाद प्रश्न, या ऑर्डर और वापसी। [76]
    2. संदेश को अर्थ के आधार पर छांटना एक LLM स्टेप है, इसलिए यह पहला नोड है जिसे इरादे का वर्गीकरण (classify intent) कहा जाता है, जो सीधे शुरुआत से जुड़ा होता है। [79]
    3. इस मॉडल को एक छोटा सिस्टम प्रॉम्प्ट दिया जाता है, जैसे "नवीनतम संदेश पढ़ें और ठीक एक लेबल के साथ उत्तर दें: उत्पाद सलाह, वापसी, या सामान्य।" [82]
    4. मॉडल स्वयं अमेज़ॅन बेडरॉक (Amazon Bedrock) से आता है, जो बिना किसी होस्टिंग के क्लाउड जैसे मॉडल तक स्केलेबल पहुंच प्रदान करता है। [82]
  3. कंडीशनल एजेस और विशेषज्ञ नोड्स [83]
    1. वह एक लेबल एक निर्णय है, और ग्राफ में एक निर्णय एक कंडीशनल एज है। [83]
    2. लेबल के आधार पर, यह तीन विशेषज्ञों में से एक को भेजता है: एक उत्पाद सलाहकार (product advisor), एक वापसी एजेंट (returns agent), या एक सामान्य उत्तरदाता (general responder)। [84]
    3. ये तीन नए नोड्स हैं, प्रत्येक अपने स्वयं के LLM, अपने स्वयं के सिस्टम प्रॉम्प्ट और अपने स्वयं के उपकरणों के साथ। [85]
    4. एक विशेषज्ञ, एक केंद्रित कार्य और केवल आवश्यक उपकरणों के साथ, सभी को संभालने वाले एक मॉडल की तुलना में अधिक तेज रहता है और उसका संदर्भ साफ और सुव्यवस्थित रहता है। [87]

2.2. उत्पाद लेन: RAG और लूप [88]

  1. उत्पाद सलाहकार और डेटा स्टेप [88]
    1. उत्पाद सलाहकार को वास्तविक उत्पादों के बारे में बात करने की आवश्यकता होती है, और एक कच्चा मॉडल किसी भी कंपनी के कैटलॉग के बारे में नहीं जानता है। [89]
    2. यदि उससे पूछा जाए, तो वह आत्मविश्वास से एक का आविष्कार करेगा, जिसे AI मतिभ्रम (AI hallucination) कहा जाता है। [90]
    3. इसलिए, इसे स्मृति से उत्तर देने की अनुमति नहीं है; इसे चीजों को देखना होगा, और कुछ देखना एक डेटा स्टेप है। [94]
    4. यह एक और नोड है: उत्पाद उपकरण (product tools)। [96]
  2. अमेज़ॅन बेडरॉक नॉलेज बेस और RAG [97]
    1. उत्पाद उपकरण अमेज़ॅन बेडरॉक नॉलेज बेस (Amazon Bedrock knowledge base) में खोज करते हैं, जहाँ उत्पाद दस्तावेज़ एक बार लोड किए जाते हैं और सटीक शब्दों के बजाय अर्थ के आधार पर खोजे जाते हैं। [97]
    2. इसे RAG (रिट्रीवल ऑगमेंटेड जनरेशन) कहा जाता है, और यह उत्तरों को सत्य के एक ही स्रोत पर आधारित रखता है। [98]
    3. सलाहकार उपकरण को कॉल करता है, जो वापस आता है उसे पढ़ता है, फिर मानव को उत्तर देता है। [99]
  3. उत्पाद लेन में लूप [100]
    1. यह एक छोटा लूप है: उत्पाद सलाहकार से उत्पाद उपकरण तक और वापस उत्पाद सलाहकार तक, और एक बार जब उसके पास उत्तर होता है, तो अंत तक। [100]
    2. एक लेन में पहले से ही एक शाखा और एक लूप है। [102]

2.3. वापसी लेन: मानव हस्तक्षेप और अनुमोदन [103]

  1. वापसी एजेंट और उपकरण [103]
    1. वापसी लेन का आकार समान होता है। [103]
    2. वापसी एजेंट अपने आप ऑर्डर नहीं देख सकता है, इसलिए उसे अपना उपकरण नोड मिलता है, वापसी उपकरण (returns tools), जो ऑर्डर सिस्टम से जुड़ा होता है। [104]
    3. यह एक ऑर्डर देखता है, 30-दिवसीय नीति की जांच करता है, वापसी की स्थिति की जांच करता है, और वापसी अनुरोध प्रस्तुत करता है। [105]
    4. वही लूप: एजेंट से उपकरण तक और वापस जब तक उसे वह नहीं मिल जाता जिसकी उसे आवश्यकता है। [106]
  2. मानव अनुमोदन (Human Approval) नोड [107]
    1. एक वापसी एक उत्तर से अलग होती है क्योंकि इसमें पैसे का लेन-देन शामिल होता है, और AI को इसे अपने आप करने की अनुमति नहीं है। [107]
    2. जब एजेंट तैयार होता है, तो वह वापसी जारी नहीं करता है; वह एक सबमिट टूल (submit tool) को कॉल करता है जो अनुरोध को लंबित अनुमोदन के रूप में चिह्नित करता है। [109]
    3. एक राउटर उस ध्वज को नोटिस करता है और लूपिंग बैक के बजाय, प्रवाह को एक नए नोड, मानव अनुमोदन (human approval) पर भेजता है। [111]
    4. यह एक यूजर इनपुट स्टेप है, जो चौथे प्रकार का काम है। [112]
    5. यह एक इंटरप्ट फ़ंक्शन (interrupt function) को कॉल करता है, जो पूरे ग्राफ को फ्रीज कर देता है और एक वास्तविक प्रबंधक की प्रतीक्षा करता है। [113]
    6. अनुमोदन होने पर ही वापसी लागू होती है, जो पैसे को छूने वाली एकमात्र कार्रवाई है। [114]
    7. यदि अस्वीकार किया जाता है, तो यह समझाता है और आगे बढ़ता है। [116]
    8. किसी भी तरह, यह अंत तक जाता है, और इसे अपना बक्सा होना चाहिए क्योंकि वह फ्रीज और प्रतीक्षा ठीक वही है जहाँ ग्राफ रुकता है। [117]

2.4. सामान्य प्रतिक्रिया लेन और फ़्लोचार्ट का विकास [119]

  1. सामान्य प्रतिक्रिया लेन [119]
    1. अंतिम लेन आसान है: सामान्य प्रतिक्रिया (general response) अभिवादन और छोटी-मोटी बातचीत को संभालती है। [119]
    2. कोई उपकरण नहीं, कोई लुकअप नहीं, बस एक दोस्ताना जवाब सीधे अंत तक। [121]
  2. फ़्लोचार्ट का विकास [122]
    1. फ़्लोचार्ट को ऊपर से नीचे तक डिज़ाइन नहीं किया गया था, बल्कि इसे तीन वास्तविक आवश्यकताओं से विकसित किया गया था। [123]
    2. प्रत्येक कार्य को एक नोड में बदल दिया गया था यह पूछकर कि यह किस प्रकार का काम है, और उन्हें एजेस से जोड़ा गया था। [124]
    3. निश्चित तीर उन चरणों के लिए थे जो हमेशा होते हैं, और कंडीशनल तीर उन दो स्थानों के लिए थे जहाँ ग्राफ वास्तव में तय करता है कि एक संदेश किस लेन में जाता है और क्या वापसी के लिए मानव की आवश्यकता है। [125]
    4. यह ब्लूप्रिंट वह ऐप है जिसे चलाया जाएगा। [126]

3. लैंगग्राफ ऐप का लाइव डेमो और कोड वॉकथ्रू [127]

यह खंड एक हेयर केयर सपोर्ट चैटबॉट के लाइव डेमो और उसके पीछे के कोड की व्याख्या करता है, जिसमें विभिन्न प्रकार के प्रश्नों को संभालने के लिए लैंगग्राफ के घटकों का उपयोग किया जाता है।

3.1. चैटबॉट का डेमो: सामान्य प्रश्न [127]

  1. चैटबॉट इंटरैक्शन [127]
    1. डेमो एक वेब ऐप पर चैटबॉट के साथ शुरू होता है। [127]
    2. जब "हाय" पूछा जाता है, तो चैटबॉट इसे एक सामान्य प्रश्न मानता है और जवाब देता है कि वह वापसी और वापसी के बारे में जानता है, और उत्पादों के बारे में सवालों के जवाब दे सकता है। [131]
  2. विज़ुअलाइज़र वॉकथ्रू [137]
    1. एक अलग ऐप में एक विज़ुअलाइज़र फ़्लो को दिखाता है। [137]
    2. "हाय" प्रॉम्प्ट के लिए, यह स्टार्ट नोड से शुरू होता है, जिसमें मानव संदेश और एजेंट स्टेट (agent state) शामिल होता है, जो बातचीत और ग्राहक के बारे में जानकारी का ट्रैक रखता है। [138]
    3. एजेंट स्टेट में, इरादा और प्रवाह अभी तक ज्ञात नहीं हैं, लेकिन ग्राहक ने "हाय" कहा है। [140]
    4. अगला कदम एक एज के माध्यम से इरादे का वर्गीकरण (classify intent) नोड पर जाना है। [141]
    5. इरादे का वर्गीकरण (classify intent) नोड संदेश इतिहास को देखता है और प्रॉम्प्ट को वर्गीकृत करने के लिए बेडरॉक पर एक लार्ज लैंग्वेज मॉडल को कॉल करता है। [142]
    6. यह नोड निर्धारित करता है कि इरादा "सामान्य" है, और चूंकि यह एक सामान्य इरादा है, यह सामान्य प्रतिक्रिया एजेंट (general response agent) के पास जाता है। [145]
    7. सामान्य प्रतिक्रिया एजेंट बिना किसी उपकरण का उपयोग किए केवल एक लार्ज लैंग्वेज मॉडल के साथ जवाब देता है, जैसे "हाय, मैं किसी भी कंपनी का हेयर केयर सहायक हूं। मुझसे उत्पादों, सामग्री, या वापसी के बारे में पूछें।" [147]

3.2. लैंगग्राफ ऐप का सेटअप: स्टेट, LLM और नॉलेज बेस [150]

  1. स्टेट का कॉन्फ़िगरेशन [150]
    1. स्टेट (State) वह तरीका है जिससे लैंगग्राफ ऐप ग्राहक के बारे में एकत्रित किसी भी जानकारी का ट्रैक रखता है जो भविष्य के एजेंटों के लिए प्रासंगिक संदर्भ जानकारी के रूप में काम करेगी। [151]
    2. इसमें संदेश लॉग (संदेश इतिहास), पुनरावृत्तियों की संख्या, इरादा (उत्पाद सलाह, वापसी, या सामान्य), और सक्रिय प्रवाह (वापसी, सामान्य, या उत्पाद सलाह) शामिल हैं। [152]
  2. लार्ज लैंग्वेज मॉडल (LLM) का सेटअप [156]
    1. कई नोड्स में LLM शामिल होते हैं, जैसे इरादे का वर्गीकरण (classify intent), वापसी एजेंट (returns agent), उत्पाद सलाहकार (product advisor), और सामान्य प्रतिक्रिया (general response)। [156]
    2. LLM तक पहुंचने के लिए, chat_bedrock_converse फ़ंक्शन का उपयोग किया जाता है, जिसमें मॉडल ID (जैसे क्लाउड सोननेट 4.5), AWS क्षेत्र, अधिकतम टोकन (टोकन उपयोग को सीमित करने के लिए), और तापमान (मॉडल के आउटपुट की यादृच्छिकता) जैसे पैरामीटर प्रदान किए जाते हैं। [161]
    3. इरादे का वर्गीकरण (classify intent) एक LLM है जिसके पास कोई उपकरण नहीं है और यह लेन चुनता है। [166]
    4. वापसी एजेंट (returns agent) और उत्पाद सलाहकार (product advisor) जैसे अन्य एजेंटों के पास विशिष्ट उपकरण होते हैं। [167]
    5. लैंगग्राफ को यह बताने के लिए कि किस नोड में कौन सा मॉडल शामिल है और क्या उस मॉडल के पास पूर्व-प्रशिक्षित ज्ञान से परे उपकरण हैं (जैसे search_hair_care_knowledge, get_product_details), bind_tools का उपयोग किया जाता है। [170]
  3. नॉलेज बेस (Knowledge Base) का उपयोग [172]
    1. नॉलेज बेस (knowledge base) में कंपनी के उत्पाद कैटलॉग और विस्तृत जानकारी से संबंधित दस्तावेज़ होते हैं। [173]
    2. एक LLM डिफ़ॉल्ट रूप से इस जानकारी को नहीं जानता होगा क्योंकि इसे इस पर प्रशिक्षित नहीं किया गया होगा। [175]
    3. इस जानकारी को LLM तक पहुंचाने के लिए, इसे अमेज़ॅन बेडरॉक नॉलेज बेस (Amazon Bedrock knowledge base) पर अपलोड किया जाता है। [177]
    4. LLM RAG (रिट्रीवल ऑगमेंटेड जनरेशन) का उपयोग करके नॉलेज बेस से जानकारी खींच सकता है और अर्थ के आधार पर एक सिमेंटिक सर्च (semantic search) कर सकता है। [177]
    5. उदाहरण के लिए, यदि "घुंघराले बालों के लिए कौन सा उत्पाद अच्छा है" पूछा जाता है, तो यह दस्तावेज़ों को पढ़ सकता है और तर्क कर सकता है कि कौन से उत्पाद प्रासंगिक हैं। [179]

3.3. सिस्टम प्रॉम्प्ट और उपकरण [182]

  1. सिस्टम प्रॉम्प्ट की भूमिका [182]
    1. सिस्टम प्रॉम्प्ट (system prompt) को एक भूमिका के रूप में सोचा जा सकता है, जैसे एक कर्मचारी को उसकी नौकरी में उसकी भूमिका बताना। [183]
    2. इरादे का वर्गीकरण (classify intent) नोड के LLM को एक सिस्टम प्रॉम्प्ट दिया जाता है जो उसे "किसी भी कंपनी के हेयर केयर सपोर्ट के लिए एक इरादा क्लासिफायरियर" के रूप में कार्य करने का निर्देश देता है। [185]
    3. प्रॉम्प्ट उसे बातचीत को पढ़ने और उपयोगकर्ता के नवीनतम संदेश को ठीक एक लेबल (उत्पाद सलाह, वापसी, या सामान्य) में वर्गीकृत करने के लिए कहता है, और केवल एकल लेबल शब्द के साथ उत्तर देने के लिए कहता है। [187]
    4. ये निर्देश LLM को दिए जाते हैं जो इरादे का वर्गीकरण (classify intent) से संबंधित है। [189]
  2. उपकरणों का उपयोग [191]
    1. उपकरण (Tools) ऐसे फ़ंक्शन होते हैं जिन्हें एक LLM कॉल कर सकता है और बाहरी संसाधनों के रूप में पहचान सकता है जो उसे अधिक जानकारी प्रदान करते हैं। [193]
    2. उत्पाद मॉडल (product model) को llm.bind_tools का उपयोग करके उपकरणों की एक सूची से बांधा जाता है, जैसे search_hair_care_knowledge और get_product_details। [194]
    3. जब LLM को किसी ऐसे प्रश्न का उत्तर देना होता है जिसका उसे पता नहीं होता है, तो वह इन उपकरणों का उपयोग करके उत्तर प्राप्त कर सकता है। [194]
    4. search_hair_care_knowledge उपकरण अमेज़ॅन बेडरॉक नॉलेज बेस से उपयोगकर्ता की क्वेरी के आधार पर जानकारी प्राप्त करता है। [196]
    5. get_product_details एक उत्पाद के विवरण के बारे में जानकारी प्राप्त करने के लिए एक और उपकरण है। [197]
    6. LLM अपने पूर्व-प्रशिक्षित डेटा पर निर्भर रहने के बजाय, इन उपकरणों से वास्तविक जानकारी के साथ अपने उत्तरों को आधार बना सकता है। [198]
  3. AWS एजेंट टूलकिट का उपयोग [199]
    1. AWS एजेंट टूलकिट का उपयोग करके, दस्तावेज़ों को बेडरॉक नॉलेज बेस पर अपलोड किया जा सकता है, जिससे बहुत समय बचता है। [199]
    2. विभिन्न LLM इंस्टेंस (सामान्य, उत्पाद, वापसी) के पास विशिष्ट जानकारी होती है, जिसमें उनके पास पहुंच वाले उपकरण या सिस्टम प्रॉम्प्ट शामिल होते हैं। [201]

3.4. ग्राफ को एक साथ जोड़ना [202]

  1. नॉलेज बेस ID [202]
    1. सेटअप के हिस्से के रूप में, सभी दस्तावेज़ बेडरॉक नॉलेज बेस में अपलोड किए जाते हैं। [203]
    2. दस्तावेज़ अपलोड करने के बाद, एक नॉलेज बेस ID प्राप्त होती है, जिससे पायथन कोड को पता चलता है कि किस नॉलेज बेस बकेट से जानकारी क्वेरी करनी है। [205]
    3. जब LLM से प्रश्न पूछे जाते हैं, तो वह इस ID के आधार पर जानता है कि दस्तावेज़ कहाँ संग्रहीत हैं। [207]
  2. नोड्स और एजेस जोड़ना [209]
    1. ग्राफ को state_graph मॉड्यूल का उपयोग करके एक साथ जोड़ा जाता है। [215]
    2. विभिन्न नोड्स जोड़े जाते हैं, जैसे इरादे का वर्गीकरण (classify intent), उत्पाद सलाहकार (product advisor), उत्पाद उपकरण (product tools), वापसी एजेंट (returns agent), वापसी उपकरण (returns tools), मानव अनुमोदन (human approval), और सामान्य प्रतिक्रिया (general response)। [216]
    3. dot add_node का उपयोग करके सभी नोड्स को ग्राफ में जोड़ा जाता है। [225]
  3. कंडीशनल एजेस का उपयोग [226]
    1. नोड्स को एजेस से जोड़ा जाता है। [226]
    2. इरादे का वर्गीकरण (classify intent) में तीन एजेस होते हैं, और यह उपयोगकर्ता के प्रॉम्प्ट के इरादे के आधार पर सशर्त रूप से तय करेगा कि कौन सा एज चलाना है। [227]
    3. dot add_edge का उपयोग करके सरल एजेस जोड़े जाते हैं, जैसे स्टार्ट (start) से इरादे का वर्गीकरण (classify intent) तक। [230]
    4. इरादे का वर्गीकरण (classify intent) से तीन अलग-अलग तरीकों से ब्रांचिंग होती है, जिसे कंडीशनल एज (conditional edge) कहा जाता है। [232]
    5. इरादे का वर्गीकरण (classify intent) प्रारंभिक नोड है, और यह route_by_intent नामक फ़ंक्शन को कॉल करेगा, जो यह निर्धारित करेगा कि उपयोगकर्ता का इरादा उत्पाद सलाह, वापसी, या सामान्य से संबंधित क्वेरी है। [234]
    6. फ़ंक्शन जो भी शब्द लौटाता है, उसके आधार पर यह तीन नोड्स में से एक पर जाएगा: उत्पाद सलाहकार (product advisor), वापसी एजेंट (returns agent), या सामान्य प्रतिक्रिया (general response)। [237]
    7. राउटर route_by_intent फ़ंक्शन के रिटर्न के आधार पर लेन चुनेगा। [238]
    8. इस प्रकार एजेस बनाए जाते हैं और नोड्स एक दूसरे से जुड़े होते हैं। [239]
  4. चेकपॉइंटर और संदेश थ्रेड [240]
    1. एक चेकपॉइंटर (checkpointor) बातचीत की स्मृति रखता है और लैंगग्राफ एजेंट को सभी संदेश इतिहास और ग्राहक के बारे में एकत्रित किसी भी जानकारी का ट्रैक रखने की अनुमति देता है। [240]
    2. इरादे का वर्गीकरण (classify intent) और उत्पाद सलाहकार (product advisor) जैसे नोड्स के लिए फ़ंक्शन परिभाषित किए जाते हैं। [242]
    3. उत्पाद सलाहकार (product advisor) एक LLM है जो उत्पाद से संबंधित उपकरणों को बांधता है और product_system_prompt के साथ कॉल किया जाता है, जो उसे बताता है कि यदि किसी उत्पाद के बारे में पूछा जाए तो उसे जानकारी प्राप्त करने के लिए इन उपकरणों का उपयोग करना चाहिए। [244]
    4. जब चैटबॉट को एक संदेश भेजा जाता है, तो यह /chat रूट पर एक बैकएंड API को हिट करता है, जो संदेश थ्रेड का ट्रैक रखता है ताकि विभिन्न उपयोगकर्ता अलग-अलग बातचीत कर सकें। [250]
    5. graph.aistream पूरे लैंगग्राफ को शुरू करता है और सभी संदेशों और अपडेट को लैंगग्राफ पर भेजता है, जो स्टार्ट नोड (start node) से शुरू होता है। [256]

4. लैंगग्राफ ऐप का डेमो: उत्पाद और वापसी प्रवाह [260]

यह खंड लैंगग्राफ ऐप के डेमो को जारी रखता है, जिसमें उत्पाद से संबंधित प्रश्नों और मानव अनुमोदन के साथ वापसी अनुरोधों को संभालने के प्रवाह को दिखाया गया है।

4.1. उत्पाद प्रश्न प्रवाह [260]

  1. उत्पाद प्रश्न का उदाहरण [260]
    1. जब "तैलीय बालों के लिए क्या अच्छा है?" पूछा जाता है, तो चैटबॉट मतिभ्रम करने के बजाय बेडरॉक नॉलेज बेस से वास्तविक उत्पाद कैटलॉग के आधार पर जानकारी प्रदान करता है। [261]
    2. यह "स्कैल्प रीसेट सीरम" की सिफारिश करता है, जिसकी कीमत $28 है, और यह तैलीय स्कैल्प के लिए अच्छा है, जो उत्पाद कैटलॉग में सटीक जानकारी से मेल खाता है। [265]
    3. यह दर्शाता है कि LLM अपने प्रशिक्षण डेटा से जानकारी न जानने के बावजूद, उत्पाद से संबंधित पूछताछ के लिए उपकरणों का उपयोग करके जानकारी प्राप्त करने में सक्षम है। [273]
  2. फ़्लोचार्ट में उत्पाद प्रश्न [275]
    1. प्रश्न "तैलीय बालों के लिए आपके पास कौन से उत्पाद हैं?" के साथ स्टेट शुरू होता है। [277]
    2. इरादे का वर्गीकरण (classify intent) नोड इरादे को "उत्पाद सलाह" के रूप में वर्गीकृत करता है। [278]
    3. कंडीशनल एज (conditional edge) के माध्यम से, यह उत्पाद सलाहकार (product advisor) नोड पर जाता है क्योंकि यह उत्पाद सलाह से संबंधित इरादा है। [282]
    4. उत्पाद सलाहकार (product advisor) नोड में एक LLM होता है जिसके पास search_hair_care_knowledge और get_product_details जैसे उपकरणों तक पहुंच होती है। [285]
    5. ये उपकरण बेडरॉक नॉलेज बेस को कॉल करते हैं ताकि वास्तविक उत्पादों से संबंधित दस्तावेज़ों से वास्तविक जानकारी प्राप्त की जा सके। [287]
    6. यह उत्पाद उपकरण (product tools) को कॉल करता है, जो उस जानकारी को स्टेट में जोड़ता है (संदेश इतिहास)। [289]
    7. नॉलेज बेस से परिणाम, जैसे "हाइड्रा वॉश शैम्पू, स्कैल्प रीसेट सीरम," वापस आते हैं। [292]
    8. उत्पाद सलाहकार (product advisor) LLM इस जानकारी का उपयोग करके एक पूर्ण वाक्य में प्रतिक्रिया उत्पन्न करता है, जैसे "तैलीय बालों के लिए, मैं इस हाइड्रा वॉश शैम्पू और स्कैल्प रीसेट सीरम से शुरू करूंगा।" [295]
    9. फिर प्रवाह समाप्त होता है। [298]
    10. यह दर्शाता है कि लैंगग्राफ एजेंट इरादे के आधार पर सही एजेंट को भेजता है, और प्रत्येक एजेंट के पास विशेष कार्यों के लिए अपने स्वयं के उपकरण होते हैं। [299]

4.2. वापसी प्रवाह और मानव अनुमोदन [301]

  1. वापसी अनुरोध का उदाहरण [301]
    1. जब "मैं अपने ऑर्डर के लिए वापसी चाहता हूं" पूछा जाता है, तो इरादे का वर्गीकरण इसे "ऑर्डर और वापसी" से संबंधित के रूप में वर्गीकृत करता है। [301]
    2. यह एक अलग फ़ंक्शन को ट्रिगर करता है जो ऑर्डर और वापसी को संभालता है और ऑर्डर नंबर मांगता है। [304]
    3. यदि एक अमान्य ऑर्डर नंबर दिया जाता है, तो एजेंट ऑर्डर नहीं ढूंढ पाता है और वापसी नहीं दे पाता है। [311]
    4. यदि एक वैध ऑर्डर नंबर (जैसे AC1001) दिया जाता है, तो चैटबॉट स्टेट के कारण वापसी अनुरोध के बारे में जानता है, जो बातचीत के इतिहास और वर्तमान प्रवाह का ट्रैक रखता है। [317]
  2. पहचान सत्यापन और मानव हस्तक्षेप [323]
    1. ऑर्डर मिलने के बाद, एजेंट पहचान सत्यापित करने के लिए नाम और ईमेल मांगता है। [323]
    2. यदि सही जानकारी दी जाती है, तो यह पुष्टि करता है कि ग्राहक वापसी के लिए पात्र है। [325]
    3. चूंकि वापसी में पैसे का लेन-देन शामिल होता है, एजेंट स्वचालित रूप से वापसी नहीं देता है; इसमें मानव लूप (human loop) शामिल होता है। [330]
    4. जब ग्राहक वापसी अनुरोध प्रस्तुत करने के लिए "हाँ" कहता है, तो अनुरोध प्रस्तुत किया जाता है लेकिन स्वचालित रूप से अनुमोदित नहीं होता है। [332]
    5. यह एक प्रबंधक को अनुमोदन के लिए अनुरोध भेजने का अनुकरण करता है, जहाँ एक वास्तविक मानव जानकारी की समीक्षा कर सकता है और वापसी को अनुमोदित या अस्वीकार कर सकता है। [335]
    6. यदि "वापसी अनुमोदित करें" चुना जाता है, तो वापसी अनुमोदित हो जाती है और मूल भुगतान विधि में 5 से 7 व्यावसायिक दिनों के भीतर दिखाई देनी चाहिए। [336]
  3. फ़्लोचार्ट में वापसी प्रवाह [337]
    1. जब ऑर्डर नंबर AC1001 के लिए वापसी मांगी जाती है, तो इरादे का वर्गीकरण (classify intent) नोड इरादे को "वापसी" के रूप में वर्गीकृत करता है। [338]
    2. route_by_intent फ़ंक्शन इरादे को "वापसी" के रूप में लौटाता है। [340]
    3. कंडीशनल एज (conditional edge) के माध्यम से, यह वापसी एजेंट (returns agent) नोड पर जाता है। [342]
    4. वापसी एजेंट (returns agent) नोड में एक LLM होता है जिसके पास look_up_order, check_return_policy, check_refund_status, request_refund जैसे उपकरणों तक पहुंच होती है। [344]
    5. ये उपकरण डेटाबेस (या JSON फ़ाइल) को कॉल करते हैं जिसमें ऑर्डर इतिहास और वापसी की जानकारी होती है। [347]
    6. यह should_the_return_continue? फ़ंक्शन को कॉल करता है, जो पाता है कि यह वापसी के लिए पात्र है। [348]
    7. फिर यह प्रवाह को मानव अनुमोदन गेट (human approval gate) पर भेजता है। [350]
    8. यह लैंगग्राफ एजेंट के काम करने का तरीका दिखाता है, जो इरादे के आधार पर सही एजेंट को भेजता है, और प्रत्येक एजेंट के पास विशेष कार्यों के लिए अपने स्वयं के उपकरण होते हैं। [356]

5. लैंगग्राफ ऐप बनाना [358]

यह खंड लैंगग्राफ ऐप बनाने के लिए आवश्यक संसाधनों और चरणों का सारांश प्रस्तुत करता है, जिसमें कोडिंग सहायक और AWS एजेंट टूलकिट का उपयोग शामिल है।

5.1. लैंगग्राफ ऐप बनाने के लिए संसाधन [358]

  1. ब्लॉग पोस्ट और स्टार्टर कोड [359]
    1. एक ब्लॉग पोस्ट में एक ऐप के लिए स्टार्टर कोड प्रदान किया गया है, जो उसी ऐप का फ्रंट एंड है जिसे डेमो में देखा गया था, लेकिन चैट विजेट अभी तक जुड़ा नहीं है। [360]
    2. ब्लॉग लैंगग्राफ बैकएंड को AI कोडिंग सहायक के साथ चरण-दर-चरण बनाने के तरीके के बारे में बताता है। [361]
  2. कोडिंग सहायक और AWS एजेंट टूलकिट [362]
    1. ब्लॉग में कोडिंग सहायता के लिए किरो (Kiro) का उपयोग किया जाता है, लेकिन कोई भी पसंदीदा उपकरण का उपयोग कर सकता है। [362]
    2. AWS एजेंट टूलकिट (AWS Agent Toolkit) को सेटअप करना होगा ताकि सहायक AWS से कनेक्ट करना जानता हो और बेडरॉक नॉलेज बेस स्थापित करने के लिए सर्वोत्तम प्रथाओं का पालन करता हो। [363]
    3. लैंगग्राफ एजेंट कौशल को लोड करना होगा ताकि सहायक ग्राफ को सर्वोत्तम प्रथाओं के साथ सही तरीके से बनाता है। [364]
  3. प्रॉम्प्ट और समाधान रेपो [365]
    1. कोडिंग सहायक को प्रत्येक चरण में प्रदान करने के लिए सटीक प्रॉम्प्ट दिए गए हैं, ताकि खाली स्क्रीन को घूरने और यह सोचने की आवश्यकता न हो कि आगे क्या टाइप करना है। [365]
    2. ब्लॉग में एक पूर्ण समाधान रेपो भी जुड़ा हुआ है, ताकि अपने काम को पहले से चल रहे संस्करण के साथ जांचा जा सके। [366]
    3. AWS एजेंट टूलकिट के लिए एक छोटा वीडियो और ब्लॉग भी उपलब्ध है। [367]