प्री-फ्लाइट क्लासिफिकेशन

प्री-फ्लाइट क्लासिफिकेशन यह सत्यापित करता है कि एनरिचमेंट शुरू होने से पहले कोई एंटिटी अपेक्षित स्कीमा प्रकार से मेल खाती है। यह वैकल्पिक चरण तब हैलुसिनेशन और टोकन की बर्बादी को रोकता है जब एंटिटी आपके स्कीमा से मेल नहीं खातीं।

संवर्धन से पहले वर्गीकरण क्यों?

LLM मदद करने के लिए उत्सुक रहते हैं। जब किसी स्कीमा के विरुद्ध एंटिटी को एनरिच करने को कहा जाता है, तो वे संरचित आउटपुट तैयार कर देते हैं, भले ही एंटिटी स्कीमा टाइप से बिल्कुल मेल न खाती हो। इससे हैलुसिनेटेड डेटा बनता है जो संभावित लगता है पर पूरी तरह गलत होता है।

हैलुसिनेशन की समस्या
classification के बिना

Schema: “Planet” — Entity: “Titan”

LLM Titan को एक ग्रह मानता है और डेटा गढ़ लेता है: ऑर्बिटल पीरियड, वायुमंडल संरचना, चंद्रमाओं की संख्या — सभी विश्वसनीय दिखने वाले पर गलत। Titan असल में Saturn का एक चंद्रमा है।

वर्गीकरण के साथ

क्लासिफिकेशन पता लगाता है: “बेमेल — Titan एक चंद्रमा है, ग्रह नहीं”

एनरिचमेंट मॉडल इस संदर्भ को प्राप्त करते हैं, असंगत फ़ील्ड को null पर सेट करते हैं, और केवल उन प्रॉपर्टीज़ को भरते हैं जो वास्तव में एंटिटी पर लागू होती हैं।

यह कैसे काम करता है

किसी भी एनरिचमेंट मॉडल के शुरू होने से पहले क्लासिफिकेशन एक एकल, तेज़ LLM कॉल के रूप में चलता है। लागत कम करने के लिए यह एक सस्ते, त्वरित मॉडल (जैसे Claude Haiku या GPT-4o Mini) का उपयोग करता है।

1
schema type और entity डेटा भेजें
क्लासिफिकेशन मॉडल को स्कीमा नाम, विवरण, और एंटिटी डेटा प्राप्त होता है (लागत कम रखने के लिए 3,000 अक्षरों तक छोटा किया गया)।
2
संरचित वर्गीकरण प्राप्त करें
मॉडल एक संरचित रिस्पॉन्स देता है जिसमें एक स्टेटस (match, mismatch, unknown, या ambiguous), एंटिटी वास्तव में क्या है इसका विवरण, कॉन्फ़िडेंस लेवल, और रीज़निंग होती है।
3
एनरिचमेंट में संदर्भ इंजेक्ट करें
पक्के तौर पर बेमेल मिलने पर बात वहीं रुक जाती है — सिंगल एनरिचमेंट आपके फ़ैसले के लिए रुक जाती है, बैच उस एंटिटी को हटा देता है, और उसके लिए कोई एनरिचमेंट मॉडल कभी कॉल नहीं किया जाता। बाकी हर फ़ैसला हर एनरिचमेंट प्रॉम्प्ट के आगे “Pre-flight Classification” सेक्शन के रूप में जोड़ा जाता है, जो मॉडलों को एंटिटी टाइप के बारे में ज़रूरी संदर्भ देता है।

चार classification स्थितियाँ

मैच

एंटिटी स्कीमा प्रकार से मेल खाती है। एनरिचमेंट उच्च आत्मविश्वास के साथ आगे बढ़ता है।

प्रॉम्प्ट प्रभाव
एंटिटी टाइप की पुष्टि करता है और एनरिचमेंट मॉडल को अतिरिक्त संदर्भ प्रदान करता है।
उदाहरण
स्कीमा "Pharmaceutical Company", एंटिटी "Sanofi" — एक फार्मास्युटिकल कंपनी के रूप में पुष्टि की गई।
बेमेल

एंटिटी स्कीमा की अपेक्षा से भिन्न प्रकार की है। क्लासिफिकेशन बताता है कि एंटिटी वास्तव में क्या है।

प्रॉम्प्ट प्रभाव
70% से ऊपर कॉन्फ़िडेंस होने पर एंटिटी को रन से हटा दिया जाता है: सिंगल एनरिचमेंट आपके फ़ैसले के लिए रुक जाती है, बैच उस एंटिटी पर कुछ भी ख़र्च करने से पहले उसे हटा देता है। 70% से नीचे, एनरिचमेंट जारी रहती है और मॉडलों को चेतावनी दी जाती है कि अप्रासंगिक फ़ील्ड के लिए null का उपयोग करें।
उदाहरण
स्कीमा "Planet", एंटिटी "Titan" — शनि के चंद्रमा के रूप में पहचाना गया, ग्रह नहीं।
अज्ञात

एंटिटी की निश्चित रूप से पहचान नहीं की जा सकती। LLM के पास इसे वर्गीकृत करने के लिए पर्याप्त जानकारी नहीं है।

प्रॉम्प्ट प्रभाव
enrichment model को अनुमान लगाने के बजाय अनिश्चितता की स्थिति में null उपयोग करने का निर्देश देता है।
उदाहरण
स्कीमा "Pharmaceutical Company", एंटिटी "XYZ Corp" — एंटिटी प्रकार निर्धारित करने के लिए पर्याप्त जानकारी नहीं।
अस्पष्ट

कई मान्य व्याख्याएँ मौजूद हैं। वर्गीकरण विकल्पों को सूचीबद्ध करता है।

प्रॉम्प्ट प्रभाव
संभावित व्याख्याओं की सूची बनाता है और संवर्धन मॉडलों से सबसे संभावित को चुनने के लिए कहता है।
उदाहरण
स्कीमा "Company", एंटिटी "Mercury" — यह ग्रह, तत्व, या Mercury Insurance हो सकता है।

कुंजी गुण

नॉन-ब्लॉकिंग

क्लासिफिकेशन पूरी तरह सलाहकारी है। यदि किसी भी कारण से क्लासिफिकेशन कॉल विफल होता है (मॉडल त्रुटि, टाइमआउट, रेट लिमिट), तो एनरिचमेंट क्लासिफिकेशन संदर्भ के बिना सामान्य रूप से आगे बढ़ता है। इससे सुनिश्चित होता है कि वैकल्पिक क्लासिफिकेशन चरण कभी भी एनरिचमेंट के पूरा होने में बाधा न बने।

किफायती

क्लासिफिकेशन को तेज़, सस्ते मॉडलों पर चलाने के लिए डिज़ाइन किया गया है। यह एक न्यूनतम पेलोड (स्कीमा नाम, विवरण, और छोटा किया गया एंटिटी डेटा) भेजता है और एक छोटी संरचित प्रतिक्रिया की अपेक्षा करता है। सामान्य लागत एनरिचमेंट का एक अंश होती है — सटीकता में सुधार के लिए यह पूरी तरह उपयुक्त है।

रीयल-टाइम फीडबैक

UI, Server-Sent Events के माध्यम से क्लासिफिकेशन की प्रगति रीयल-टाइम में दिखाता है। जब जाँच शुरू होती है तो एक classification_started इवेंट ट्रिगर होता है, जिसके बाद स्टेटस, कॉन्फिडेंस और एंटिटी विवरण के साथ classification_completed आता है। परिणाम मॉडल परिणामों के ऊपर एक बैनर के रूप में दिखाई देता है।

रद्द करने योग्य

यदि आप classification चरण के दौरान enrichment रद्द करते हैं, तो job किसी भी enrichment model को शुरू किए बिना तुरंत रुक जाता है। कोई अनावश्यक token खर्च नहीं होता।

क्लासिफिकेशन कब सक्षम करें

अनुशंसित
  • संकीर्ण entity प्रकार वाले schema (जैसे, “Pharmaceutical Company”)
  • इनपुट डेटा जिसमें मिश्रित एंटिटी प्रकार हो सकते हैं
  • विविध स्रोतों की एंटिटीज़ के साथ बैच एनरिचमेंट
  • जब महंगे एनरिचमेंट मॉडल का उपयोग कर रहे हों और आप बर्बादी से बचना चाहते हों
आवश्यक नहीं
  • जेनेरिक schema जो किसी भी entity को स्वीकार करते हैं (जैसे, “Organization”)
  • क्यूरेटेड इनपुट डेटा जहाँ आप entity प्रकार को नियंत्रित करते हैं
  • त्वरित पुनरावृत्तियाँ जहाँ सटीकता से ज़्यादा गति मायने रखती है
  • स्पष्ट entity प्रकार परिभाषा के बिना schema

कैसे सक्षम करें

Workflow Editor या Batch Enrichment साइडबार में, “Classification” ड्रॉपडाउन खोजें। एक तेज़, कम खर्चीला मॉडल चुनें (Claude Haiku, GPT-4o Mini, या समान)। हर एंटिटी के लिए एनरिचमेंट शुरू होने से पहले क्लासिफिकेशन स्वचालित रूप से चलेगा।

  1. 1यहाँ कोई मॉडल न होने का मतलब है — प्री-फ़्लाइट जाँच बिल्कुल नहीं
  2. 2सिर्फ़ एक मॉडल: जाँच एक अकेली, अलग कॉल होती है
  3. 3प्रति दस लाख टोकन की कीमतें, ताकि आप देख सकें कि जाँच की लागत कितनी है
पिकर वही कैटलॉग है जो एनरिचर मॉडलों का है, इसलिए आपको महंगे मॉडल से क्लासिफिकेशन करने से कुछ नहीं रोकता — लेकिन जाँच को सिर्फ़ एंटिटी का प्रकार पहचानना होता है, और प्रति मिलियन टोकन कुछ सेंट वाला नैनो-क्लास मॉडल यह काम उस एनरिचमेंट की लागत के एक अंश में कर देता है जिसकी वह रक्षा करता है।

REST API का उपयोग करते समय, अपने एनरिचमेंट अनुरोध में मॉडल की कंपोज़िट कुंजी के साथ classification_model फ़ील्ड शामिल करें (जैसे, anthropic::claude-haiku-4-5)।

हर जाँच हिस्ट्री में क्लासिफिकेशन टाइप के अंतर्गत अपने अलग रिकॉर्ड के रूप में रखी जाती है, ताकि आप हमेशा देख सकें कि किसी रन के बारे में चेतावनी क्यों दी गई थी।

इसे भ्रमित न करें database-model क्लासिफिकेशन के साथ, जिसके साथ सिर्फ़ शब्द समान है और कुछ नहीं: वह तब चलता है जब कोई स्कीमा किसी database sync से जुड़ा हो, और हर प्रॉपर्टी की डेटाबेस key, SQL टाइप और इंडेक्स इंटेंट प्रस्तावित करता है — एक सर्च कॉलम जो टेक्स्ट फ़्रैगमेंट से मैच होता है, किसी कोऑर्डिनेट या इंटरवल जोड़ी का एक हिस्सा जो मिलकर एक ही स्पेशियल या रेंज इंडेक्स बनता है, या एक क्वेरी-शेप्ड इंडेक्स: किसी ऑब्जेक्ट के फ़ील्ड्स की क्रमबद्ध सूची, जो उस लिस्ट-स्क्रीन क्वेरी के आकार में होती है जिसे वह सर्व करती है, और एक ही मल्टी-कॉलम इंडेक्स के रूप में भेजी जाती है। यह आपकी एंटिटी के बारे में कुछ नहीं पूछता और History में DB Classification के रूप में दिखता है।