Entity Enricher 最多可同时生成 40 种语言的增强结果。多语言字段以语言为键的 JSON 对象形式存储——这种格式便于移植、可查询,并兼容所有主流数据库。
在 schema 编辑器中,在任何字符串或字符串数组属性上切换多语言标志。启用后,LLM 会返回以语言为键的对象包装的值,而不是普通值。
multilingual: true。multilingual: true 的描述、名称等)。点击其他任意语言块上的 ↑ 按钮可将其设为主语言。后端还会过滤掉 LLM 可能输出的、不在你所选范围内的多余语言键。dict[str, T],其中键为 ISO 639-1 语言代码,值与字段类型匹配。多语言值以 JSON 对象形式存储,语言代码作为键。选择此格式而非其他方案,是因为它具有可移植性、可查询性和存储效率。
未设置 multilingual: true 的字段会以普通值返回。标识符、代码、URL、日期和数字通常保持非多语言。
多语言数组有两种处理方式。Entity Enricher 使用 格式 A(以语言为键的对象),因为这是唯一无需转换即可在所有主流数据库中直接使用的格式。
| 条件 | A 以语言为键的对象 | B 本地化项数组 |
|---|---|---|
| 结构 | {"en": [...], "fr": [...]} | [{"en": "x", "fr": "y"}, ...] |
| 查询一种语言 | 直接访问data -> 'field' -> 'en' | 需要迭代jsonb_array_elements + extract |
| 添加语言 | 为对象添加一个键 | 更新数组中的每一项 |
| 与标量保持一致 | 是——相同的 {"en": "...", "fr": "..."} 模式 | 否 — 字符串与数组的结构不同 |
| 数据库可移植性 | 所有主流数据库 | 所有主流数据库 |
以语言为键的格式在所有支持 JSON 列的主流数据库中都可原生查询。
提供 40 种语言。运行富化时可选择任意组合。
enEnglishzhChinesehiHindiesSpanisharArabicfrFrenchbnBengaliptPortugueseruRussianjaJapanesedeGermanurUrduviVietnamesetrTurkishkoKoreantaTamilmrMarathiteTelugupaPunjabiyueCantoneseitItalianplPolishukUkrainianroRomaniannlDutchelGreekcsCzechhuHungariansvSwedishsrSerbianbgBulgarianhrCroatianskSlovakdaDanishfiFinnishnoNorwegianltLithuanianslSlovenianlvLatvianetEstonian多语言标志仅对某些属性类型有效。schema 编辑器会自动强制执行此规则。
| 属性类型 | 多语言? | 输出格式 |
|---|---|---|
| string | 是 | dict[str, str] |
| number / integer | 是 | dict[str, float] |
| boolean | 是 | dict[str, bool] |
| 基本类型数组 | 是 | dict[str, list[str]] |
| object | 否 | 改为标记对象内部的各个字段 |
| 对象数组 | 否 | 改为标记项内部的各个字段 |
| $ref | 否 | 改为标记被引用实体内部的字段 |
多语言支持贯穿富集流程的每个阶段。
融合来自多个模型的结果时,多语言字段会按语言进行比较。
| 场景 | 解析 |
|---|---|
| 模型在英语上一致,但在法语上存在分歧 | 英语直接通过;法语按语言通过多数投票或仲裁解析 |
| 一个模型支持阿拉伯语,另一个则不支持 | 优先选择非空值(保留阿拉伯语) |
| 多语言数组在各模型间长度不同 | 每种语言中所有项的并集 |