Entity Enricher может выдавать результаты обогащения одновременно на 40 языках. Многоязычные поля хранятся как объекты JSON с ключами по языкам — этот формат переносим, доступен для запросов и совместим со всеми основными базами данных.
В редакторе схем включите флаг «многоязычный» для любого свойства типа строка или массив строк. Когда он включён, LLM возвращает значения, обёрнутые в объект с ключами по языкам, вместо простого значения.
multilingual: true в схеме JSON.multilingual: true). Нажмите кнопку ↑ на любом другом чипе, чтобы сделать его основным. Бэкенд также отфильтровывает любые лишние языковые ключи, которые LLM может выдать и которых нет в вашем выборе.dict[str, T], где ключи — это коды языков ISO 639-1, а значения соответствуют типу поля.Многоязычные значения хранятся как JSON-объекты с кодами языков в качестве ключей. Этот формат выбран среди альтернатив за переносимость, удобство запросов и эффективность хранения.
Поля без multilingual: true возвращаются как обычные значения. Идентификаторы, коды, URL, даты и числа обычно остаются немногоязычными.
Для многоязычных массивов существует два подхода. Entity Enricher использует Format A (объект с ключами по языкам), поскольку это единственный формат, который работает как есть во всех основных базах данных без преобразования.
| Критерии | A Объект с ключами по языкам | B Массив локализованных элементов |
|---|---|---|
| Структура | {"en": [...], "fr": [...]} | [{"en": "x", "fr": "y"}, ...] |
| Запрос одного языка | Прямой доступdata -> 'field' -> 'en' | Требует итерацииjsonb_array_elements + extract |
| Добавить язык | Добавьте один ключ к объекту | Обновить каждый элемент в массиве |
| Согласуется со скалярами | Да — тот же шаблон {"en": "...", "fr": "..."} | Нет — разная структура для строк и массивов |
| Переносимость базы данных | Все основные базы данных | Все основные базы данных |
Формат с ключами по языкам изначально поддерживает запросы во всех основных базах данных с колонками JSON.
Доступно 40 языков. Выберите любое сочетание при запуске обогащения.
enEnglishzhChinesehiHindiesSpanisharArabicfrFrenchbnBengaliptPortugueseruRussianjaJapanesedeGermanurUrduviVietnamesetrTurkishkoKoreantaTamilmrMarathiteTelugupaPunjabiyueCantoneseitItalianplPolishukUkrainianroRomaniannlDutchelGreekcsCzechhuHungariansvSwedishsrSerbianbgBulgarianhrCroatianskSlovakdaDanishfiFinnishnoNorwegianltLithuanianslSlovenianlvLatvianetEstonianФлаг мультиязычности допустим только для определённых типов свойств. Редактор схем применяет это автоматически.
| Тип свойства | Многоязычный? | Формат вывода |
|---|---|---|
| string | Да | dict[str, str] |
| number / integer | Да | dict[str, float] |
| boolean | Да | dict[str, bool] |
| массив примитивов | Да | dict[str, list[str]] |
| object | Нет | Вместо этого отметьте отдельные поля внутри объекта |
| массив объектов | Нет | Вместо этого отметьте отдельные поля внутри элементов |
| $ref | Нет | Вместо этого отметьте поля внутри связанной сущности |
Поддержка нескольких языков встроена в каждый этап конвейера обогащения.
При слиянии результатов нескольких моделей многоязычные поля сравниваются по каждому языку.
| Сценарий | Разрешение |
|---|---|
| Модели согласны по английскому, но расходятся по французскому | Английский проходит напрямую; французский разрешается для каждого языка через голосование большинством или арбитраж |
| Одна модель поддерживает арабский, другая — нет | Предпочитать не-null значение (сохраняется арабское) |
| Многоязычные массивы различаются по длине для разных моделей | Объединение всех элементов по языкам |