Entity Enricher एक साथ 40 भाषाओं तक में संवर्धन परिणाम उत्पन्न कर सकता है। बहुभाषी फ़ील्ड्स को भाषा-कुंजीबद्ध JSON ऑब्जेक्ट्स के रूप में संग्रहीत किया जाता है — एक ऐसा प्रारूप जो पोर्टेबल, क्वेरी-योग्य, और हर प्रमुख डेटाबेस के साथ संगत है।
Schema editor में, किसी भी string या array-of-strings property पर multilingual फ्लैग टॉगल करें। सक्षम होने पर, LLM एक सादे मान के बजाय भाषा-कुंजीबद्ध ऑब्जेक्ट में लिपटे मान लौटाता है।
multilingual: true के रूप में संग्रहीत होता है।multilingual: true के रूप में चिह्नित नहीं हैं) के लिए किया जाता है। किसी भी अन्य chip को प्राथमिक बनाने के लिए उस पर ↑ बटन का उपयोग करें। बैकएंड उन किसी भी अतिरिक्त भाषा कुंजियों को भी फ़िल्टर कर देता है जो LLM उत्पन्न कर सकता है लेकिन जो आपके चयन में नहीं हैं।dict[str, T] के रूप में लपेटता है, जहाँ कुंजियाँ ISO 639-1 भाषा कोड होती हैं और मान फ़ील्ड प्रकार से मेल खाते हैं।बहुभाषी मान भाषा कोड को कुंजियों के रूप में रखते हुए JSON ऑब्जेक्ट के रूप में संग्रहीत किए जाते हैं। यह प्रारूप अपनी पोर्टेबिलिटी, क्वेरी-योग्यता और स्टोरेज दक्षता के कारण विकल्पों की तुलना में चुना गया।
multilingual: true के बिना फ़ील्ड सादे मान के रूप में लौटाए जाते हैं। पहचानकर्ता, कोड, URLs, तिथियाँ और संख्याएँ आमतौर पर गैर-बहुभाषी रहती हैं।
मल्टीलिंगुअल एरे के लिए दो तरीके मौजूद हैं। Entity Enricher Format A (भाषा-कुंजीबद्ध ऑब्जेक्ट) का उपयोग करता है क्योंकि यह एकमात्र ऐसा फ़ॉर्मेट है जो बिना किसी ट्रांसफ़ॉर्मेशन के सभी प्रमुख डेटाबेस में जैसा है वैसा काम करता है।
| मापदंड | A भाषा-कुंजीबद्ध ऑब्जेक्ट | B स्थानीयकृत आइटम का Array |
|---|---|---|
| संरचना | {"en": [...], "fr": [...]} | [{"en": "x", "fr": "y"}, ...] |
| एक भाषा क्वेरी करें | सीधी पहुँचdata -> 'field' -> 'en' | पुनरावृत्ति आवश्यक हैjsonb_array_elements + extract |
| एक भाषा जोड़ें | ऑब्जेक्ट में एक की जोड़ें | array में हर आइटम को अपडेट करें |
| स्केलर के अनुरूप | हाँ — वही {"en": "...", "fr": "..."} पैटर्न | नहीं — स्ट्रिंग्स बनाम ऐरे के लिए अलग आकार |
| डेटाबेस पोर्टेबिलिटी | सभी प्रमुख डेटाबेस | सभी प्रमुख डेटाबेस |
लैंग्वेज-कीड फ़ॉर्मेट उन सभी प्रमुख डेटाबेस में नेटिवली क्वेरी करने योग्य है जो JSON कॉलम सपोर्ट करते हैं।
40 भाषाएँ उपलब्ध हैं। एनरिचमेंट चलाते समय कोई भी संयोजन चुनें।
enEnglishzhChinesehiHindiesSpanisharArabicfrFrenchbnBengaliptPortugueseruRussianjaJapanesedeGermanurUrduviVietnamesetrTurkishkoKoreantaTamilmrMarathiteTelugupaPunjabiyueCantoneseitItalianplPolishukUkrainianroRomaniannlDutchelGreekcsCzechhuHungariansvSwedishsrSerbianbgBulgarianhrCroatianskSlovakdaDanishfiFinnishnoNorwegianltLithuanianslSlovenianlvLatvianetEstonianpreserve से चिह्नित)बहुभाषी फ़्लैग को preserve फ़्लैग के साथ नहीं जोड़ा जा सकता: एक संरक्षित मान बिना अनुवाद के, एक ही भाषा में पास होता है। स्कीमा एडिटर परस्पर विरोधी टॉगल को निष्क्रिय कर देता है, और API दोनों फ़्लैग वाले स्कीमा को अस्वीकार कर देता है। की फ़ील्ड (प्राकृतिक या डेटाबेस की) बहुभाषी हो सकते हैं — तब एंटिटी की पहचान स्कीमा की लॉक की गई की भाषा का उपयोग करती है।
मल्टीलिंगुअल फ़्लैग केवल कुछ प्रॉपर्टी टाइप्स पर मान्य है। स्कीमा एडिटर इसे अपने-आप लागू करता है।
| प्रॉपर्टी प्रकार | बहुभाषी? | आउटपुट फ़ॉर्मैट |
|---|---|---|
| string | हाँ | dict[str, str] |
| number / integer | हाँ | dict[str, float] |
| boolean | हाँ | dict[str, bool] |
| प्रिमिटिव का array | हाँ | dict[str, list[str]] |
| object | नहीं | इसके बजाय ऑब्जेक्ट के भीतर अलग-अलग फ़ील्ड मार्क करें — जब तक कि ऑब्जेक्ट में प्रति भाषा एक पंक्ति न हो, नीचे देखें |
| ऑब्जेक्ट का array | नहीं | इसके बजाय आइटम्स के अंदर अलग-अलग fields को चिह्नित करें |
| $ref | नहीं | इसके बजाय संदर्भित entity के अंदर fields को चिह्नित करें |
बहुभाषी मान भाषाओं का एक मैप होता है, कोई एकल मान नहीं — इसलिए एकल मान को सीमित करने वाले एट्रिब्यूट उस पर लागू नहीं हो सकते। ये टकराव स्कीमा जनरेट होते समय सुलझा दिए जाते हैं और हाथ से सहेजने पर अस्वीकार कर दिए जाते हैं, बजाय इसके कि बाद में एनरिचमेंट के दौरान विफल हों।
सदस्यों के एक निश्चित समूह तक सीमित प्रॉपर्टी बहुभाषी नहीं हो सकती: सदस्य कैनोनिकल टोकन होते हैं, और उपभोक्ता डेटाबेस उन्हीं के आधार पर कॉलम को सीमित करता है। अनुवादित लेबल आपकी अपनी लुकअप टेबल में रखे जाने चाहिए, जिसकी की टोकन हो।
किसी तारीख, UUID या regex से जाँचे गए कोड का एक ही मशीन-पठनीय रूप होता है, हर भाषा के लिए अलग नहीं। ऐसी प्रॉपर्टी सहेजना जो दोनों हो, अस्वीकार कर दिया जाता है।
संरक्षित मान आपका अपना डेटा है जो ज्यों का त्यों लौटाया जाता है, इसलिए अनुवाद करने के लिए कुछ है ही नहीं।
यह वाला अनुमत है। पहचान एक ही भाषा में तय होती है — स्कीमा के किसी डेटाबेस में पहली बार पब्लिश होते समय यह नियत हो जाती है — इसलिए किसी नाम का अनुवाद उसकी पहचान बदले बिना किया जा सकता है।
कुछ स्रोत भाषा को रो के रूप में दर्शाते हैं: एक सूची जिसमें हर आइटम एक भाषा कोड और अपने मान रखता है, प्रति भाषा एक। यह multilingual प्रॉपर्टी से अलग आकार है, और दोनों को आपस में मिलाना नहीं चाहिए। जेनरेशन ऐसी प्रॉपर्टी को ऑब्जेक्ट का भाषा अक्ष मानता है — केवल तभी जब हर देखा गया मान वाक़ई एक भाषा कोड हो — और फिर उस पूरे सबट्री के लिए एकीकृत तंत्र बंद कर देता है। आइटम के भीतर अलग-अलग फ़ील्ड मार्क करना, जो ऑब्जेक्ट के लिए सामान्य सलाह है, यहाँ बिलकुल ग़लत उपाय है: इससे आपको उन रो के अनुवाद मिलेंगे जो पहले से ही प्रति भाषा एक हैं।
एक और अंतर स्पष्ट रखने लायक है: जिन भाषाओं में आप संवर्धन करते हैं वे प्रति-रन चुनाव हैं; स्कीमा का अपना पाठ (उसके विवरण और लेबल) जिस भाषा में लिखा है वह स्कीमा पर तय होती है; और पहचान जिस भाषा में हल होती है वह प्रति डेटाबेस तय होती है। तीन अलग-अलग सेटिंग्स, जो सुनने में सभी “भाषा” जैसी लगती हैं।
बहुभाषी समर्थन संवर्धन पाइपलाइन के हर चरण में बुना गया है।
कई मॉडलों से परिणामों को फ्यूज़ करते समय, बहुभाषी फ़ील्ड की तुलना प्रति भाषा की जाती है।
| सिनारियो | रिज़ॉल्यूशन |
|---|---|
| मॉडल अंग्रेज़ी पर सहमत हैं पर फ़्रेंच पर भिन्न हैं | यह असहमति नहीं है। पहचान रन की प्राथमिक भाषा में आँकी जाती है, इसलिए यह सहमति मानी जाती है: अंग्रेज़ी वैसी ही आगे बढ़ती है, और फ़्रेंच प्रति-भाषा मर्ज नियम से तय होती है। अनुवाद का अंतर कभी किसी मध्यस्थ को नहीं भेजा जाता — दो सही अनुवादों में से चुनने के लिए किसी मॉडल को भुगतान करना व्यर्थ का खर्च होगा |
| एक model में अरबी है, दूसरे में नहीं | नॉन-नल मान को प्राथमिकता दें (अरबी रखा जाता है) |
| बहुभाषी ऐरे प्रति मॉडल लंबाई में भिन्न होते हैं | प्रति भाषा सभी आइटम्स का यूनियन |