मल्टी-मॉडल फ्यूज़न - Entity Enricher दस्तावेज़

मल्टी-मॉडल फ्यूज़न

जब आप एक ही एनरिचमेंट को कई AI मॉडलों पर चलाते हैं, तो Entity Enricher परिणामों को एक एकल, उच्च-कॉन्फ़िडेंस आउटपुट में फ्यूज़ कर सकता है। फ्यूज़न मॉडल आउटपुट के बीच टकरावों का पता लगाता है और उन्हें नियतात्मक नियमों या LLM-संचालित आर्बिट्रेशन का उपयोग करके हल करता है।

फ्यूज़न पाइपलाइन

मॉडल आउटपुट
Claude परिणाम
GPT-4 परिणाम
Gemini परिणाम
कॉन्फ्लिक्ट डिटेक्शन
हर फ़ील्ड की तुलना करें
सभी models में
रिज़ॉल्यूशन
नियम-आधारित मर्ज
या
LLM आर्बिट्रेशन
मर्ज किया गया परिणाम
एकल आउटपुट के साथ
कॉन्फ्लिक्ट ऑडिट ट्रेल

स्टेप 1: कॉन्फ्लिक्ट डिटेक्शन

कॉन्फ्लिक्ट डिटेक्टर सभी मॉडल आउटपुट में हर फ़ील्ड की तुलना करता है। जिन फ़ील्ड पर सभी मॉडल सहमत होते हैं वे अपरिवर्तित पास हो जाती हैं। जिन फ़ील्ड पर मॉडल असहमत होते हैं उन्हें ऐसे विरोध के रूप में चिह्नित किया जाता है जिन्हें हल करने की आवश्यकता होती है।

फ़ील्ड प्रकार के अनुसार तुलना नियम
प्रकारतुलना कैसे की गईसहमति का अर्थ
स्केलरसामान्यीकृत सटीक मिलान (ट्रिम किया गया, लोअरकेस, राउंड किया गया)सामान्यीकरण के बाद सभी मान समान हैं
बहुभाषीप्रति-भाषा तुलनाहर भाषा key models के बीच मेल खाती है
ArraySet तुलना (क्रम-स्वतंत्र)क्रम की परवाह किए बिना समान आइटम
Objectप्रति-प्रॉपर्टी पुनरावर्तीसभी नेस्टेड प्रॉपर्टीज़ मेल खाती हैं
NullNull, अनुपस्थित के बराबर हैसमतुल्य माना गया
उदाहरण: 2 मॉडल के साथ “Sanofi” का संवर्धन
Claude आउटपुट
revenue: 42.2
gmp_status: true
description: “Sanofi is a global...”
GPT-4 आउटपुट
revenue: 44.1
gmp_status: true
description: “Sanofi SA is a...”
परिणाम: gmp_status = agreed | revenue = conflict (42.2 बनाम 44.1) | description = conflict (अलग टेक्स्ट)

स्टेप 2: कॉन्फ्लिक्ट रिज़ॉल्यूशन

कॉन्फ्लिक्ट का समाधान दो तरीकों में से किसी एक से किया जाता है, यह इस पर निर्भर करता है कि आपने साइडबार में कोई आर्बिट्रेशन मॉडल चुना है या नहीं।

विकल्प A

नियम-आधारित मर्ज

प्रत्येक फ़ील्ड के डेटा प्रकार के आधार पर नियतात्मक नियम लागू किए जाते हैं। किसी अतिरिक्त LLM कॉल की आवश्यकता नहीं — समाधान तत्काल और निःशुल्क है।

फ़ील्ड टाइपनियमऔचित्य
स्ट्रिंगबहुमत मत; बराबरी होने पर सबसे लंबा मान चुना जाता हैआमतौर पर ज़्यादा विवरण बेहतर होता है
Numberमाध्यिका मानआउटलायर्स के प्रति मज़बूत
बूलियनबहुमत; बराबरी में true जीतता हैरूढ़िवादी डिफ़ॉल्ट
बहुभाषीप्रति-भाषा बहुमत मतहर भाषा स्वतंत्र रूप से हल की जाती है
Arrayसभी आइटम्स का यूनियनसारी जानकारी सुरक्षित रखें
Objectप्रति-फ़ील्ड पुनरावर्तीनेस्टेड फ़ील्ड्स पर नियम लागू करें
Null बनाम माननॉन-नल को प्राथमिकता देंअनुपस्थित डेटा किसी भी मान से बदतर है

टाई-ब्रेकर: जब मत बराबर होते हैं, तो अधिक कीमत वाले मॉडल का मान जीतता है (क्षमता के प्रॉक्सी के रूप में), उसके बाद वर्णानुक्रम में मॉडल नाम क्रम।

विकल्प B

LLM आर्बिट्रेशन

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

आर्बिट्रेटर क्या लौटाता है
चुना गया मानवह मान जिसे यह सबसे सटीक मानता है
स्रोत मॉडलचुना गया मान किस मॉडल से आया
रीज़निंगउसने विकल्पों के बजाय वह मान क्यों चुना
कॉन्फिडेंसनिर्णय में यह कितना आश्वस्त है (हाई, मीडियम, लो)

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

स्टेप 3: मर्ज किया गया परिणाम

कॉन्फ्लिक्ट समाधान के बाद, सिस्टम एक एकल मर्ज किया गया परिणाम बनाता है और उसे डेटाबेस में “आर्बिट्रेशन” रिकॉर्ड के रूप में संग्रहीत करता है। प्रत्येक मर्ज किए गए परिणाम में एक ऑडिट ट्रेल शामिल होता है ताकि आप ट्रेस कर सकें कि प्रत्येक कॉन्फ्लिक्ट कैसे हल हुआ।

ऑडिट ट्रेल (आर्बिट्रेशन मेटाडेटा)

हर मर्ज किया गया परिणाम मेटाडेटा शामिल करता है जो फ्यूज़न प्रक्रिया को प्रलेखित करता है:

“method”: “rule_based” | “llm”
“source_record_ids”: [“uuid-1”, “uuid-2”]
“total_fields”: 23
“agreed_fields”: 18
“conflicted_fields”: 5
“decisions”: [{ path, chosen_value, rule_used, ... }]

आप UI में क्या देखते हैं

फ्यूज़न पूरा होने के बाद, परिणाम पैनल में “Merged” टैब दिखाता है:

1
सारांश हेडर
रिज़ॉल्यूशन विधि (Rule-Based या LLM) और “18 agreed / 5 resolved / 23 total fields” जैसी गिनती दिखाता है।
2
मर्ज किया गया JSON
सहमत मानों और हल किए गए विरोधों को एक ही JSON दस्तावेज़ में मिलाकर बना पूर्ण स्ट्रक्चर्ड आउटपुट।
3
कॉन्फ्लिक्ट रिपोर्ट
प्रत्येक टकराव के लिए विस्तार योग्य कार्ड, जो दर्शाते हैं: फ़ील्ड पथ, रिज़ॉल्यूशन विधि बैज (Majority Vote, Median, Union, आदि), सभी model मान जिनमें चुना गया मान हाइलाइट किया गया हो, और यदि LLM arbitration का उपयोग हुआ हो तो रीज़निंग टेक्स्ट।

बैच प्रोसेसिंग में ऑटोमैटिक फ्यूज़न

Batch enrichment में, जब आप दो या अधिक models चुनते हैं तो fusion स्वचालित रूप से होता है। आपको मैन्युअल रूप से “Merge Results” पर क्लिक करने की आवश्यकता नहीं है — जैसे ही किसी entity के लिए सभी models पूरे होते हैं, fusion चलता है और मर्ज किया गया परिणाम अलग-अलग model आउटपुट के साथ दिखाई देता है।

स्ट्रीमिंग फ्यूज़न: सिंगल-एंटिटी और बैच दोनों संवर्धन के दौरान, फ्यूज़न प्रगति को Server-Sent Events के माध्यम से स्ट्रीम किया जाता है। आप वास्तविक-समय में fusion_started, conflicts_detected, और fusion_completed इवेंट देखते हैं।

नियम-आधारित बनाम LLM आर्बिट्रेशन: किसका उपयोग कब करें

नियम-आधारित (मुफ़्त, तुरंत)
  • अधिकतर तथ्यात्मक/संख्यात्मक डेटा जहाँ वोटिंग लॉजिक अच्छा काम करता है
  • उच्च वॉल्यूम या बैच प्रोसेसिंग जहाँ लागत मायने रखती है
  • कम अपेक्षित कॉन्फ्लिक्ट वाले सरल स्कीमा
  • जब आप नियतात्मक, पुनरुत्पादन-योग्य परिणाम चाहते हों
LLM आर्बिट्रेशन (अतिरिक्त लागत)
  • जटिल schemas जहाँ समाधान के लिए संदर्भ मायने रखता है
  • पाठ्य डेटा (विवरण, सारांश) जहाँ मतदान पर्याप्त नहीं है
  • जब आपको तर्क सहित व्याख्या-योग्य निर्णयों की आवश्यकता हो
  • उच्च-जोखिम वाले संवर्धन जहाँ सटीकता अतिरिक्त लागत के लायक होती है