Как отказаться от хардкода моделей: маршрутизация, автовыбор сложности и контроль расходов
Самая дорогая строчка в микросервисе с LLM — model="gpt-4o". За ней тянутся свой ключ вендора, ретраи и счёт, который потом некому разобрать. Идея, которая это убирает: сервис не должен знать, какая модель ему отвечает. Вместо хардкода — четыре механизма: правила маршрутизации, автоматический выбор сложности, поведение при сбоях вендоров и контроль денег.
Правила маршрутизации позволяют направлять запросы к разным моделям в зависимости от задачи или контекста. Автоматический выбор сложности подбирает модель под нужный уровень качества, не переплачивая за избыточную мощность. Фолбэки при сбоях вендоров обеспечивают отказоустойчивость, а лимиты расходов не дают счёту уйти в космос.
Примеры реализации — из open-source шлюза Keystone (KTMS) на Go, но схему можно повторить в любом аналогичном инструменте. Такой подход делает инфраструктуру гибче, снижает затраты и избавляет команды от привязки к конкретному провайдеру.