Entity Enricher は最大 40 言語のエンリッチメント結果を同時に生成できます。多言語フィールドは言語をキーとした JSON オブジェクトとして保存され、この形式はポータブルでクエリ可能、あらゆる主要なデータベースと互換性があります。
スキーマエディターで、任意の文字列プロパティまたは文字列配列プロパティの multilingual フラグを切り替えます。有効にすると、LLM はプレーンな値ではなく言語をキーとするオブジェクトでラップされた値を返します。
multilingual: true として保存されます。multilingual: true とマークされていない説明や名前など)に使用されます。他のチップの ↑ ボタンを使うと、その言語をプライマリに昇格できます。バックエンドは、LLM が生成する可能性のある、選択に含まれない不要な言語キーも除外します。dict[str, T]としてラップします。キーはISO 639-1の言語コードで、値はフィールドの型に一致します。多言語の値は、言語コードをキーとする JSON オブジェクトとして保存されます。この形式は、移植性、クエリ可能性、ストレージ効率の高さから、他の選択肢に代えて採用されました。
multilingual: true のないフィールドはプレーンな値として返されます。識別子、コード、URL、日付、数値は通常、非多言語のままです。
多言語配列には2つのアプローチがあります。Entity EnricherはFormat A(言語キー付きオブジェクト)を使用しています。これは、変換なしですべての主要データベースでそのまま機能する唯一の形式だからです。
| 基準 | A 言語をキーとするオブジェクト | B ローカライズされた項目の配列 |
|---|---|---|
| 構造 | {"en": [...], "fr": [...]} | [{"en": "x", "fr": "y"}, ...] |
| 1つの言語を照会 | 直接アクセスdata -> 'field' -> 'en' | 反復が必要ですjsonb_array_elements + extract |
| 言語を追加 | オブジェクトにキーを 1 つ追加します | 配列内のすべての項目を更新します |
| スカラー値と一貫 | はい — 同じ{"en": "...", "fr": "..."}パターンです | いいえ — 文字列と配列で形状が異なります |
| データベースのポータビリティ | すべての主要データベース | すべての主要データベース |
言語をキーとした形式は、JSON カラムをサポートするすべての主要なデータベースでネイティブにクエリ可能です。
40の言語が利用可能です。エンリッチメントの実行時に任意の組み合わせを選択できます。
enEnglishzhChinesehiHindiesSpanisharArabicfrFrenchbnBengaliptPortugueseruRussianjaJapanesedeGermanurUrduviVietnamesetrTurkishkoKoreantaTamilmrMarathiteTelugupaPunjabiyueCantoneseitItalianplPolishukUkrainianroRomaniannlDutchelGreekcsCzechhuHungariansvSwedishsrSerbianbgBulgarianhrCroatianskSlovakdaDanishfiFinnishnoNorwegianltLithuanianslSlovenianlvLatvianetEstonian多言語フラグは特定のプロパティタイプでのみ有効です。スキーマエディターはこれを自動的に強制します。
| プロパティタイプ | 多言語対応ですか? | 出力フォーマット |
|---|---|---|
| string | はい | dict[str, str] |
| number / integer | はい | dict[str, float] |
| boolean | はい | dict[str, bool] |
| プリミティブの配列 | はい | dict[str, list[str]] |
| object | いいえ | 代わりに、オブジェクト内の個々のフィールドをマークします |
| オブジェクトの配列 | いいえ | 代わりに、項目内の個々のフィールドをマークします |
| $ref | いいえ | 代わりに、参照先エンティティ内のフィールドをマークします |
多言語サポートは、エンリッチメントパイプラインのあらゆる段階に組み込まれています。
複数の model の結果を fusion する際、多言語フィールドは言語ごとに比較されます。
| シナリオ | 解決 |
|---|---|
| モデルは英語では一致しますが、フランス語では異なります | 英語はそのまま通過し、フランス語は多数決または arbitration により言語ごとに解決されます |
| あるモデルはアラビア語に対応し、別のモデルは対応していません | null 以外の値を優先します(アラビア語が保持されます) |
| 多言語配列の長さがモデルごとに異なります | 言語ごとのすべての項目の和集合 |