जब लोग ई-कॉमर्स के स्केलिंग के बारे में बात करते हैं, तो वे बड़ी इंजीनियरिंग चुनौतियों पर ध्यान केंद्रित करते हैं: डिस्ट्रिब्यूटेड सर्च, रियल-टाइम इन्वेंटरी, रिकमेंडेशन इंजन और चेकआउट ऑप्टिमाइज़ेशन। लेकिन इन सबके नीचे एक शांत, अधिक स्थायी समस्या है जिससे लगभग हर रिटेलर जूझता है: एट्रिब्यूट वैल्यू।
एट्रिब्यूट प्रोडक्ट डिस्कवरी की रीढ़ हैं। वे फ़िल्टर, तुलना, सर्च रैंकिंग और रिकमेंडेशन लॉजिक को पावर देते हैं। लेकिन वास्तविक कैटलॉग में, एट्रिब्यूट वैल्यू शायद ही कभी साफ होती हैं। वे असंगत, डुप्लिकेट, गलत फ़ॉर्मेट या शब्दार्थ रूप से अस्पष्ट होती हैं।
Size जैसी सरल चीज़ को लें। आप देख सकते हैं:
Code
["XL", "Small", "12cm", "Large", "M", "S"]
या Colour:
Code
["RAL 3020", "Crimson", "Red", "Dark Red"]
व्यक्तिगत रूप से, ये असंगतताएं हानिरहित दिखती हैं। लेकिन उन्हें 30 लाख से अधिक SKU में गुणा करें, जिनमें से प्रत्येक में दर्जनों एट्रिब्यूट हैं, और समस्या व्यवस्थित हो जाती है। फ़िल्टर अप्रत्याशित रूप से व्यवहार करते हैं, सर्च इंजन प्रासंगिकता खो देते हैं, मर्चेंडाइज़र मैनुअल क्लीनअप में डूब जाते हैं, और ग्राहकों के लिए प्रोडक्ट डिस्कवरी धीमी और अधिक निराशाजनक हो जाती है।
यह वह चुनौती थी जिसका मैंने Zoro में एक फुल-स्टैक सॉफ़्टवेयर इंजीनियर के रूप में सामना किया, एक समस्या जिसे अनदेखा करना आसान था लेकिन हर प्रोडक्ट पेज को प्रभावित करती थी।
मैं एक रहस्यमय ब्लैक बॉक्स AI नहीं चाहता था जो केवल चीजों को सॉर्ट करे। ऐसी प्रणालियों पर भरोसा करना, डीबग करना या स्केल करना कठिन होता है। इसके बजाय, मेरा लक्ष्य एक पाइपलाइन थी जो:
परिणाम एक हाइब्रिड AI पाइपलाइन था जो LLM से संदर्भात्मक तर्क को स्पष्ट नियमों और मर्चेंडाइज़र नियंत्रण के साथ जोड़ती है। यह जरूरत पड़ने पर स्मार्ट तरीके से काम करती है, लेकिन हमेशा अनुमानित रहती है। यह गार्डरेल के साथ AI है, नियंत्रण से बाहर AI नहीं।
सभी एट्रिब्यूट प्रोसेसिंग ऑफ़लाइन बैकग्राउंड जॉब्स में होती है, रियल टाइम में नहीं। यह कोई समझौता नहीं था; यह एक रणनीतिक आर्किटेक्चरल विकल्प था।
रियल-टाइम पाइपलाइन आकर्षक लगती हैं, लेकिन ई-कॉमर्स स्केल पर, वे पेश करती हैं:
दूसरी ओर, ऑफ़लाइन जॉब्स ने हमें दिया:
लाखों SKU के साथ काम करते समय ग्राहक-सामना करने वाले सिस्टम को डेटा-प्रोसेसिंग पाइपलाइन से अलग रखना आवश्यक है।
डेटा पर AI का उपयोग करने से पहले, मैंने शोर और भ्रम को दूर करने के लिए एक स्पष्ट प्रीप्रोसेसिंग स्टेप चलाया। यह स्टेप सरल लग सकता है, लेकिन इसने LLM के तर्क में बहुत सुधार किया।
क्लीनिंग पाइपलाइन में शामिल था:
इसने सुनिश्चित किया कि LLM को साफ, स्पष्ट इनपुट मिले, जो सुसंगत परिणामों की कुंजी है। गारबेज इन, गारबेज आउट। इस स्केल पर, छोटी त्रुटियां भी बाद में बड़ी समस्याओं का कारण बन सकती हैं।
LLM केवल वैल्यू को वर्णानुक्रम में सॉर्ट नहीं कर रहा था। यह उनके बारे में तर्क कर रहा था।
सर्विस ने प्राप्त किया:
इस संदर्भ के साथ, मॉडल समझ सकता था:
मॉडल ने लौटाया:
यह पाइपलाइन को हर कैटेगरी के लिए नियमों को हार्डकोड किए बिना विभिन्न एट्रिब्यूट प्रकारों को संभालने देता है।
हर एट्रिब्यूट को AI की आवश्यकता नहीं है।
वास्तव में, कई एट्रिब्यूट डिटर्मिनिस्टिक लॉजिक द्वारा बेहतर तरीके से संभाले जाते हैं।
संख्यात्मक रेंज, यूनिट-आधारित वैल्यू और सरल सेट अक्सर लाभ उठाते हैं:
पाइपलाइन ने स्वचालित रूप से इन मामलों का पता लगाया और उनके लिए डिटर्मिनिस्टिक लॉजिक का उपयोग किया। इसने सिस्टम को कुशल रखा और अनावश्यक LLM कॉल से बचा।
मर्चेंडाइज़र को अभी भी नियंत्रण की आवश्यकता थी, विशेष रूप से व्यवसाय-संवेदनशील एट्रिब्यूट के लिए।
तो प्रत्येक कैटेगरी को टैग किया जा सकता था:
यह दोहरी-टैग प्रणाली लोगों को अंतिम निर्णय लेने देती है जबकि AI ने अधिकांश काम किया। इसने विश्वास भी बनाया, क्योंकि मर्चेंडाइज़र पाइपलाइन को तोड़े बिना आवश्यकता पड़ने पर मॉडल को ओवरराइड कर सकते थे।
सभी परिणाम सीधे प्रोडक्ट MongoDB डेटाबेस में स्टोर किए गए, जिससे आर्किटेक्चर सरल और केंद्रीकृत रहा।
MongoDB निम्न के लिए एकल ऑपरेशनल स्टोर बन गया:
इससे परिवर्तनों की समीक्षा करना, वैल्यू को ओवरराइड करना, कैटेगरी को रीप्रोसेस करना और अन्य सिस्टम के साथ सिंक करना आसान हो गया।
एक बार सॉर्ट होने के बाद, वैल्यू निम्न में प्रवाहित हुईं:
इसने सुनिश्चित किया कि:
सर्च वह जगह है जहां एट्रिब्यूट सॉर्टिंग सबसे अधिक दिखाई देती है, और जहां स्थिरता सबसे अधिक मायने रखती है।
लाखों SKU में इसे काम करने के लिए, मैंने बैकग्राउंड जॉब्स, AI रीज़निंग और सर्च इंटीग्रेशन के आसपास निर्मित एक मॉड्यूलर पाइपलाइन डिज़ाइन की। नीचे दिया गया आर्किटेक्चर आरेख पूर्ण प्रवाह को कैप्चर करता है:
यह प्रवाह सुनिश्चित करता है कि हर एट्रिब्यूट वैल्यू, चाहे AI द्वारा सॉर्ट की गई हो या मैनुअल रूप से सेट की गई हो, सर्च, मर्चेंडाइजिंग और ग्राहक अनुभव में परिलक्षित होती है।
यहाँ बताया गया है कि गंदी वैल्यू कैसे ट्रांसफॉर्म हुईं:
| Attribute | Raw Values | Ordered Output | |----|----|----| | Size | XL, Small, 12cm, Large, M, S | Small, M, Large, XL, 12cm | | Color | RAL 3020, Crimson, Red, Dark Red | Red, Dark Red, Crimson, Red (RAL 3020) | | Material | Steel, Carbon Steel, Stainless, Stainless Steel | Steel, Stainless Steel, Carbon Steel | | Numeric | 5cm, 12cm, 2cm, 20cm | 2cm, 5cm, 12cm, 20cm |
ये उदाहरण दिखाते हैं कि कैसे पाइपलाइन संदर्भात्मक तर्क को स्पष्ट नियमों के साथ जोड़ती है ताकि साफ, समझने में आसान क्रम बनाए जा सकें।
रियल-टाइम प्रोसेसिंग ने पेश किया होता:
ऑफ़लाइन जॉब्स ने हमें दिया:
ट्रेड-ऑफ डेटा इन्जेशन और डिस्प्ले के बीच एक छोटी देरी थी, लेकिन लाभ स्केल पर स्थिरता था, जिसे ग्राहक बहुत अधिक महत्व देते हैं।
परिणाम महत्वपूर्ण थे:
यह केवल एक तकनीकी जीत नहीं थी; यह यूजर एक्सपीरियंस और राजस्व के लिए भी एक जीत थी।
एट्रिब्यूट वैल्यू को सॉर्ट करना सरल लगता है, लेकिन जब आपको लाखों उत्पादों के लिए ऐसा करना पड़े तो यह एक वास्तविक चुनौती बन जाती है।
LLM इंटेलिजेंस को स्पष्ट नियमों और मर्चेंडाइज़र नियंत्रण के साथ जोड़कर, मैंने एक जटिल, छिपी हुई समस्या को एक साफ, स्केलेबल सिस्टम में बदल दिया।
यह एक अनुस्मारक है कि कुछ सबसे बड़ी जीतें उबाऊ समस्याओं को हल करने से आती हैं, वे जिन्हें चूकना आसान है लेकिन हर प्रोडक्ट पेज पर दिखाई देती हैं।
\n \n \n


