Подключить провайдера
Как добавить движок и заполнить его таблицу языков без сотни ручных правок.
Цель: подключают новый движок перевода. Он должен появиться здесь, чтобы вызывающие могли резолвить для него коды.
1. Сначала добавьте его в provider_credentials
Коды провайдеров общие для двух сервисов. Добавьте вендора и провайдера в config/providers.yaml в provider_credentials, затем используйте тот же код здесь. Вызывающий, резолвящий кред там и код языка здесь, не должен переводить между двумя схемами именования.
Если пока это только консольный провайдер — всё равно добавьте здесь и оставьте in_credentials_catalog как false; так сделано для yandex_translate и pangea_mt.
2. Создайте
Admin → Providers. Код, название, вендор, категория (mt / ai / custom_mt) и политика фолбэка.
Начинайте с base_language. Это то, на чём едут все остальные, и оно никогда не отказывает паре, которую вы не проверяли.
3. Добавьте алиасы
Всё остальное, что могут отправлять вызывающие: короткое имя (newmt) и любой легаси-идентификатор, если это замена чего-то. Любая строка здесь резолвится в провайдера.
4. Заполните таблицу языков
С нуля — редко. Большинство движков говорят набором кодов, близким к уже настроенному:
Provider settings → Copy mappings from another provider → выберите ближайшего → Copy.
С кого начинать:
| Движок это… | Копировать с |
|---|---|
| LLM, принимающий любой тег BCP-47 | openai_api |
| Большой MT API со стандартными тегами | google_translate |
| MT API китайского рынка | baidu_translate или tencent_transmart |
| Клиентский fine-tune | вендор, чей API его обслуживает |
Скопированные строки помечаются как copied:<source> в поле источника, так что потом их видно отдельно от проверенных вручную.
5. Исправьте различия
Matrix → Show → Pinned only покажет то, что вы только что скопировали. Пройдите это против документации провайдера и исправьте, что отличается. Затем Show → Derived only — для пар, которые ничем не покрыты.
Сначала пройдите языки, которые вы действительно продаёте.
6. Проверьте
Tools → Resolve tester, или:
curl ".../v1/providers/newmt_api/languages?effective=true" | jq '.total'
curl ".../v1/resolve?provider=newmt_api&language=pt-BR"
Затягивание гаек позже
Когда вы зафиксируете, какие пары действительно падают, рассмотрите strict — но сначала прочитайте Fallback Policies. Счётчик derived в таблице покрытия — это ровно то количество пар, которые начнут отвечать supported: false.
Далее
- Providers and Vendors — существующий каталог
- Editing the Matrix