AI चैटबॉट सिस्टम एक ऐसा सॉफ़्टवेयर है जो यूज़र का मैसेज लेता है और एक काम का जवाब देता है। यह आम तौर पर एक बड़े लैंग्वेज मॉडल (LLM) को कॉल करके और उस कॉल को प्रोडक्ट लॉजिक (जैसे सुरक्षा जांच, फ़ॉर्मैटिंग और मेमोरी) के साथ जोड़कर किया जाता है। इसमें ऐसे हिस्से शामिल होते हैं जो मैसेज स्वीकार करते हैं, तय करते हैं कि मॉडल को क्या भेजना है, और यूज़र को जवाब वापस भेजते हैं।
सिस्टम की सीमा को साफ़ रखने के लिए, हम तीन भूमिकाओं को अलग-अलग रखते हैं। क्लाइंट ऐप बातचीत दिखाता है और मैसेज भेजता है। बैकएंड चैट वर्कफ़्लो और डेटा को संभालता है। मॉडल प्रोवाइडर मॉडल को चलाता है और कॉल किए जाने पर जेनरेट किया गया टेक्स्ट वापस देता है।
इसका सबसे आसान वर्शन एक सिंगल बैकएंड सर्विस है जो POST /chat API उपलब्ध कराती है। क्लाइंट {conversation_id, user_message} भेजता है। सर्विस उस बातचीत के पिछले टर्न लोड करती है, उस संदर्भ (context) के साथ LLM API को कॉल करती है, और जैसे-जैसे टोकन आते हैं, उन्हें क्लाइंट को वापस स्ट्रीम करती है। आइए इसे एक-रीजन वाले बेसलाइन फ़्लो में समझते हैं:
इस बेसलाइन में, API सर्विस ही फ़ैसला लेने वाला मुख्य हिस्सा है। यह चैट स्टोर से चैट हिस्ट्री पढ़ती और उसमें लिखती है ताकि पेज रिफ्रेश होने पर भी बातचीत का क्रम न टूटे, और यह अगला असिस्टेंट मैसेज बनाने के लिए LLM API को कॉल करती है। लॉग और मेट्रिक्स से रिक्वेस्ट की टाइमिंग और एरर का पता चलता है, जिससे हम देख सकते हैं कि सिस्टम कब धीमा हो रहा है या कब उसमें कोई खराबी आ रही है।
कम ट्रैफ़िक में भी, दो बातें जल्दी ही साफ़ हो जाती हैं। यूज़र्स को लेटेंसी (देरी) का पता चलता है क्योंकि पहला टेक्स्ट दिखने में लगने वाला समय यह तय करता है कि ऐप कितना रिस्पॉन्सिव लगता है, और कुल जनरेशन टाइम यह तय करता है कि वे लंबे जवाबों को बीच में ही छोड़ देंगे या नहीं। लागत भी साफ़ तौर पर दिखती है क्योंकि हर मॉडल कॉल में टोकन खर्च होते हैं, इसलिए हर अतिरिक्त टर्न और हर अतिरिक्त रिट्रीव्ड स्निपेट से बातचीत का खर्च बढ़ जाता है।
लेटेंसी बजट वह समय है जो यूज़र के ‘सेंड’ बटन दबाने से लेकर उन्हें काम का जवाब दिखने तक खर्च किया जा सकता है। स्ट्रीमिंग चैटबॉट में, यह समय दो हिस्सों में बँट जाता है: पहला टोकन मिलने में लगने वाला समय और जवाब पूरा होने में लगने वाला कुल समय; और बेसलाइन फ़्लो में ये दोनों ही शामिल होते हैं। धीमा मॉडल चुनने से ये दोनों ही समय बढ़ जाते हैं, जबकि ज़्यादा कॉन्टेक्स्ट जोड़ने से अक्सर कुल समय बढ़ जाता है, भले ही पहला टोकन मिलने का समय वही रहे। अब, हम लेटेंसी और लागत के बीच के इस तनाव को और साफ़ तौर पर समझते हैं: