PORTcore · ИИ-шлюз: маршрутизация моделей и контроль расходов
ИИ-шлюз: маршрутизация моделей и контроль расходов
Собираем управляемый доступ приложений к ИИ-моделям: правила выбора провайдера, ограничения использования, наблюдаемость и понятное поведение при отказе.
Когда ключи размножились по приложениям
В одном сервисе ключ хранится в настройках, во втором встроен в обработчик, в третьем расходы невозможно связать с конкретной задачей. Общий шлюз помогает вынести технические правила в контролируемую точку. Приложение сообщает назначение запроса и нужный профиль, а выбор разрешённой модели, лимита и маршрута происходит по согласованной политике. Начать можно с подключения одного действующего сценария.
Сначала описываем требования к данным, задержке и качеству. Разные операции не обязаны использовать одну модель, но более дешёвый вариант нельзя назначать только по цене. Для важных маршрутов предусматриваем контрольные примеры и возможность явно запретить автоматическую замену провайдера.
Бюджет должен приводить к определённому действию
Настраиваем учёт по приложению, команде или рабочему процессу. Предупреждение о приближении к бюджету и запрет дальнейших запросов — разные механизмы. Определяем, какой из них нужен, что сообщать пользователю и какие фоновые задания можно отложить. Если стоимость вычисляется по данным поставщика с задержкой, это ограничение учитывается в правилах.
Повтор запроса после ошибки тоже может стоить денег. Разбираем таймауты, ограничения частоты и неоднозначные результаты, чтобы не запускать бесконтрольную цепочку попыток. Резервный маршрут включаем только для совместимых задач и разрешённых направлений передачи данных. Сам факт доступности другого API не делает его допустимой заменой.
Наблюдаемость без лишнего хранения содержания
Для сопровождения полезны идентификатор операции, выбранный маршрут, время и технический результат. Полные тексты запросов не нужно записывать по умолчанию. Объём журналирования и доступ к нему согласуем с владельцем данных. Секреты провайдеров остаются на стороне серверного контура.
Передаём конфигурацию профилей, описание ошибок и инструкции для подключения следующего приложения. Проверяем исчерпание лимита, недоступность поставщика и отмену операции. Поддержка новых моделей, особых форматов и потоковых ответов оценивается по используемым API; совместимость не предполагается автоматически.