Entity Enricher peut produire des résultats d'enrichissement dans jusqu'à 40 langues simultanément. Les champs multilingues sont stockés sous forme d'objets JSON indexés par langue — un format portable, interrogeable et compatible avec toutes les grandes bases de données.
Dans l'éditeur de schéma, activez l'indicateur multilingue sur toute propriété de type chaîne ou tableau de chaînes. Une fois activé, le LLM renvoie des valeurs encapsulées dans un objet indexé par langue au lieu d'une valeur simple.
multilingual: true dans le schéma JSON.multilingual: true). Utilisez le bouton ↑ sur toute autre puce pour la promouvoir comme langue principale. Le backend filtre également les clés de langue parasites que le LLM pourrait émettre en dehors de votre sélection.dict[str, T], où les clés sont des codes de langue ISO 639-1 et les valeurs correspondent au type du champ.Les valeurs multilingues sont stockées sous forme d'objets JSON avec les codes de langue comme clés. Ce format a été retenu parmi d'autres pour sa portabilité, sa facilité d'interrogation et son efficacité de stockage.
Les champs sans multilingual: true sont renvoyés comme valeurs simples. Les identifiants, codes, URL, dates et nombres restent généralement non multilingues.
Deux approches existent pour les tableaux multilingues. Entity Enricher utilise le Format A (objet indexé par langue), car c'est le seul format qui fonctionne tel quel dans toutes les principales bases de données sans transformation.
| Critères | A Objet indexé par langue | B Tableau d'éléments localisés |
|---|---|---|
| Structure | {"en": [...], "fr": [...]} | [{"en": "x", "fr": "y"}, ...] |
| Interroger une seule langue | Accès directdata -> 'field' -> 'en' | Nécessite une itérationjsonb_array_elements + extract |
| Ajouter une langue | Ajoutez une clé à l'objet | Mettre à jour chaque élément du tableau |
| Cohérent avec les scalaires | Oui — même motif {"en": "...", "fr": "..."} | Non — structure différente pour les chaînes et les tableaux |
| Portabilité de la base de données | Toutes les principales bases de données | Toutes les principales bases de données |
Le format indexé par langue est nativement interrogeable dans toutes les grandes bases de données prenant en charge les colonnes JSON.
40 langues sont disponibles. Sélectionnez n'importe quelle combinaison lors de l'exécution d'un enrichissement.
enEnglishzhChinesehiHindiesSpanisharArabicfrFrenchbnBengaliptPortugueseruRussianjaJapanesedeGermanurUrduviVietnamesetrTurkishkoKoreantaTamilmrMarathiteTelugupaPunjabiyueCantoneseitItalianplPolishukUkrainianroRomaniannlDutchelGreekcsCzechhuHungariansvSwedishsrSerbianbgBulgarianhrCroatianskSlovakdaDanishfiFinnishnoNorwegianltLithuanianslSlovenianlvLatvianetEstonianL'indicateur multilingue n'est valide que sur certains types de propriétés. L'éditeur de schéma applique cette règle automatiquement.
| Type de propriété | Multilingue ? | Format de sortie |
|---|---|---|
| string | Oui | dict[str, str] |
| number / integer | Oui | dict[str, float] |
| boolean | Oui | dict[str, bool] |
| tableau de primitives | Oui | dict[str, list[str]] |
| object | Non | Marquer plutôt les champs individuels à l'intérieur de l'objet |
| tableau d'objets | Non | Marquer plutôt les champs individuels à l'intérieur des éléments |
| $ref | Non | Marquer plutôt les champs à l'intérieur de l'entité référencée |
La prise en charge multilingue est intégrée à chaque étape du pipeline d'enrichissement.
Lors de la fusion des résultats de plusieurs modèles, les champs multilingues sont comparés par langue.
| Scénario | Résolution |
|---|---|
| Les modèles s'accordent sur l'anglais mais divergent sur le français | L'anglais passe tel quel ; le français est résolu par langue via vote majoritaire ou arbitrage |
| Un modèle prend en charge l'arabe, un autre non | Préférer la valeur non nulle (l'arabe est conservé) |
| Les tableaux multilingues diffèrent en longueur selon le modèle | Union de tous les éléments par langue |