Головна/Провайдери/Провайдери та вендори ENУКРРУС API-довідник (ReDoc) ↗

Провайдери та вендори

24 провайдери, поля кожного з них і як читати мовну таблицю провайдера.

curl "https://languages.service.custom.mt/v1/providers"
curl "https://languages.service.custom.mt/v1/providers/deepl_api"
curl "https://languages.service.custom.mt/v1/providers/deepl_api/languages?effective=true"

Каталог

Коди провайдерів — ті самі, що у provider_credentials. Один ідентифікатор резолвить кред там і код мови тут; викликачеві не треба перекладати між двома схемами іменування.

Вендор Провайдери
OpenAI openai_api
Anthropic anthropic_api
Google Cloud google_translate, gemini_api
Microsoft Azure microsoft_translator
Amazon Web Services amazon_translate
DeepL deepl_api
Translated modernmt_api, lara_api
LanguageWire languagewire_api
SYSTRAN systran_translate
Tencent tencent_transmart
Alibaba Cloud alibaba_translate
Baidu baidu_translate
Naver papago_translate
Supertext supertext_translate
XL8 xl8_translate
Tarjama tarjama_mt
Tahrirchi tilmoch_api, sayqalchi_api
Widn.AI widn_tower_anthill, widn_tower_sugarloaf, widn_tower_vesuvius
Internal custom_finetuned_mt

Що несе рядок провайдера

Поле Значення
code канонічний код провайдера, спільний із provider_credentials
name відображувана назва
vendor_code, vendor_name компанія, що стоїть за ним
category mt, ai або custom_mt
fallback_policy у що резолвиться ненастроєна регіональна мова — див. Fallback Policies
in_credentials_catalog false, коли provider_credentials ще не має цього провайдера
is_active false для провайдерів, які зараз не використовуються
aliases усі інші ідентифікатори, що адресують цього провайдера
notes вільний текст: особливості набору кодів вендора, де вони важливі
configured_languages скільки мов мають явний рядок

aliases і notes повертає GET /v1/providers/{code}; список повертає лише поля-підсумок.

Info

in_credentials_catalog False означало б провайдера, чиї коди тут резолвляться, але якого немає в provider_credentials — резолвити можна, контракту на креди за ним немає. Сьогодні в такому стані немає жодного; поле лишається, щоб — якщо такий з'явиться — це було видно, а не з'ясувалось із впалої задачі.

Аліаси провайдера

Провайдер відгукується не лише на свій код. aliases тримає кожен інший ідентифікатор, що його адресує, — коротку назву на кшталт deepl і будь-який довший ідентифікатор, який викликачі, як відомо, надсилають для цього рушія:

curl ".../v1/resolve?provider=deepl&language=zh-CN"
# → { "provider": "deepl_api", "code": "ZH-HANS", … }

У відповіді завжди повертається канонічний код provider, який би аліас ви не надіслали. Саме його треба зберігати.

Один провайдер покриває всі моделі, які обслуговує той самий ендпоінт вендора, бо підтримка мов — це властивість ендпоінта, а не моделі за ним. provider_credentials тримає модель як поле model_id під одним кредом, тож один провайдер тут відповідає одному креду там.

Явне проти ефективного

# лише пари, які хтось налаштував
curl ".../v1/providers/deepl_api/languages"

# усі мови, включно з фолбеками — те, що провайдер справді отримає
curl ".../v1/providers/deepl_api/languages?effective=true"

Перша команда повертає для DeepL 127 мов — явно налаштовані пари, які підтримуються. effective=true розширює до 247 мов, які провайдер реально може отримати з урахуванням фолбеків; мова без явного рядка — не прогалина: базові відповідають власним кодом, а регіональні фолбечаться за Fallback Policies. Кожен запис несе той самий match, що й ендпоінт резолвінгу, тож налаштовані відповіді відрізняються від виведених.

supported_only за замовчуванням true. Передайте supported_only=false, щоб побачити й пари, зафіксовані як неробочі — разом з effective=true це весь каталог, 503 рядки.

Як обирається вихідний код

Для будь-якої пари (провайдер, мова) є рівно один код — обраний один раз і зафіксований, а не під час запиту. Де кілька написань тієї самої мови могли б бути надіслані, перемагає:

  1. написання, задокументоване для цього провайдера, якщо таке є,
  2. далі те, що дорівнює власному канонічному коду мови — коли конкурує кілька написань і одне з них те, як ми вже називаємо мову, надсилати інше означає розходитись без причини,
  3. далі найканонічніше написання BCP-47 (es-419 над ES-LA).

На відміну від канонічного коду мови, тут коротший тег ніколи не має переваги сам по собі. Якщо API провайдера хоче zh-Hans і тільки zh-Hans — це факт, і правило 2 його не перекриває. Кожне написання-програвший лишається досяжним як вхідний аліас.

Далі