Что умеет наш шлюз и как это выглядит в работе
Пять профилей задач через одну точку входа: текст, распознавание текста со снимка, разбор изображения и синтез речи. Готовые примеры «вход → выход» и живые демонстрации на этой же странице.
Всё, что показано ниже, идёт через одну точку входа. Ваш код отправляет профиль задачи — «текст», «распознать», «разобрать снимок», «озвучить», — а какая модель и какой поставщик ответят, решает шлюз по своим правилам.
Это не про экономию строк кода. Это про то, что снятая с обслуживания модель, выросшая цена или упавший поставщик перестают быть вашей аварией: маршрут меняется в шлюзе, а интеграция остаётся прежней. Стоимость каждого запроса при этом измеряется, а не оценивается на глаз.
POST /api/v1/…
- профилей задачи
- 5
- точка входа
- одна
- запасной путь
- есть
- имя модели в вашем коде
- нет
Четыре вида задач, одна интеграция
Текст
service: textСаммари переписки, классификация обращений, извлечение полей из накладной или письма, черновик ответа по вашему регламенту.
Где ошибается. Уверенно ошибается на числах и датах, если их не проверять отдельно: ответ звучит одинаково твёрдо и когда он верен, и когда нет.
Распознавание текста
service: ocrТекст со снимка как есть: чек, накладная, скриншот, страница договора. Строки, списки и таблицы сохраняются.
Где ошибается. Рукописный текст, снятый под углом, и плохой свет — три главные причины расхождений. Проверяемые поля (суммы, номера) стоит сверять правилами, а не доверием.
Разбор изображения
service: visionЧто на снимке и что из этого практически следует: состояние объекта, комплектность, соответствие требованиям, описание для каталога.
Где ошибается. Модель склонна дополнять картину правдоподобным: если признака не видно, его лучше спрашивать явно, а не ждать, что он «заметится».
Синтез речи
service: ttsОзвучка текста голосом: объявления, уведомления, озвученная справка, черновик диктора.
Где ошибается. Ударения в незнакомых именах и сокращениях ставятся не всегда верно, а интонация вопроса передаётся хуже утверждения.
Из кода это одна и та же ручка
Меняется одно поле — профиль задачи. Ни имени модели, ни поставщика в вашем коде нет, поэтому их смена вас не касается.
Текст
{
"service": "text",
"text": "Собери саммари переписки в пять пунктов"
}
Снимок
{
"service": "ocr",
"text": "Извлеки текст как есть",
"images": ["<base64>"]
}
Речь
{
"service": "tts",
"text": "Заказ собран и ждёт в пункте выдачи"
}
Доступ к шлюзу мы выдаём поштучно и по разговору — открытой регистрации нет. Это честнее, чем форма «получить ключ», за которой стоит очередь без сроков.
Попробуйте сами
POST /api/v1/probeВаш текст уйдёт через тот же шлюз, каким пользуются наши продукты. Модель выбирает правило маршрутизации, а не эта страница.