Я сократил расходы на API LLM на 70%: практические советы по использованию AirAi с маршрутизацией и кэшированием
0. Предыстория: Как возник взрыв счета?
Я занимаюсь несколькими параллельными проектами, и на начальном этапе мне приходилось либо терпеть и покупать официальную подписку за 20 долларов в месяц, либо сталкиваться с отказами при попытке использования международных кредитных карт. В конце месяца, когда я подсчитывал расходы, обнаружил две действительно неприятные вещи:
80% запросов относятся к таким легким задачам, как извлечение аннотаций, классификация и форматирование данных, и использование самой дорогой модели для их обработки является пустой тратой ресурсов;
Подписка представляет собой фиксированные затраты: когда вызовов мало, это приводит к убыткам, а когда вызовов много, их оказывается недостаточно.
Итак, я обратился к AirAi: взял собственный API-ключ, перешел на платформу с оплатой по использованию и настроил клиент так, чтобы он использовал их интерфейс, совместимый с OpenAI.
Здесь ещё есть один маленький эпизод. У меня всегда не было нормальной международной кредитной карты, и каждый раз, когда приходило время платить, попытка оплаты отклонялась; некоторое время я использовал карту родственника, но это привело к активации системы контроля рисков, и мой аккаунт был заблокирован. Мне пришлось подавать жалобу, и только спустя почти две недели аккаунт был разблокирован. После этого я решил искать только те платформы, которые не требуют использования международных карт. В итоге я выбрал этот гейтвей, который принимает только USDT — для человека, у которого нет международной карты, это, пожалуй, самый простой вариант: достаточно просто пополнить счет, и можно использовать сервис без ежемесячных сборов и без необходимости прохождения процедуры KYC. Самое главное — цены: по моим оценкам, стоимость услуг примерно вдвое ниже, чем при использовании официального способа оплаты. Именно это стало основной причиной, по которой я решил использовать именно этот гейтвей.
1. Переключение между строками: переключение на любой совместимый шлюз
Почти все клиенты, поддерживающие настройку пользовательских конечных точек (Claude Code, Cursor, Open WebUI, LibreChat, Cline и др.), могут быть переключены с помощью одной строки переменной окружения без необходимости изменения кода. Просто укажите следующие две переменные на ваш собственный гейтвей:
export OPENAI_BASE_URL="https://api.airai.cc/v1" export ANTHROPIC_BASE_URL="https://api.airai.cc/v1"
Какой выбрать шлюз — это другой вопрос; в этой статье речь идет только о методах реализации.
2. Практика работы с кодом: маршрутизация + кэширование
Простое переключение источников света ещё недостаточно для экономии средств; настоящая экономия достигается за счёт использования правильных моделей для выполнения правильных задач и кэширования повторяющихся запросов. Вот шаблон, который я использую в производственной среде (совместим с OpenAI SDK): параметры base_url и api_key запрашиваются из переменных окружения, а не задаются непосредственно в коде:
import openai, hashlib, os
client = openai.OpenAI(
base_url=os.getenv("OPENAI_BASE_URL"),
api_key=os.getenv("OPENAI_API_KEY"),
)
# Routing: small model for light tasks, flagship only for complex reasoning
CHEAP = "gpt-5.6-luna" # classification / summarization / formatting
STRONG = "gpt-5.6-sol" # only called for complex reasoning
_cache: dict[str, str] = {} # swap for Redis in production
def ask(prompt: str) -> str:
model = STRONG if len(prompt) > 400 else CHEAP
key = hashlib.md5(prompt.encode()).hexdigest()
if key in _cache: # cache hit, 0 cost
return _cache[key]
resp = client.chat.completions.create(
model=model,
messages=[{"role": "user", "content": prompt}],
)
answer = resp.choices[0].message.content
_cache[key] = answer
return answerВы можете настраивать параметры CHEAP и STRONG в соответствии со своим бюджетом и требуемыми результатами. Название модели должно соответствовать документации используемого вами гибридного шлюза. При выполнении офлайн-задач обязательно используйте интерфейс Batch — это обычно позволяет сэкономить еще половину ресурсов.
3. Сравнение затрат (иллюстративно)
Перед и после реконструкцииИнструкцияДанные (пожалуйста, используйте реальные цифры согласно вашему счету-фактуре):
Проект | Официальная подписка / Прямой доступ | AirAi + Кэш маршрутизации |
Способ оплаты | Фиксированная ежемесячная плата / Официальная цена | Платеж по факту использования Платеж за использование ресурсов по мере их потребления |
Модель легкой работы | Флагман (траты ресурсов) | Маленькая модель (дешевле) |
Повторная запрос | Пересчет полной стоимости | Кэш-попадание: 0; Стоимость: |
Ощущаемые затраты | Базовый уровень – 100% | От примерно 10 до 30% (в зависимости от объема использования) |
4. Честные границы (скажем правду)
Не все действительно экономят больше.Когда количество месячных вызовов очень низкое, фиксированная подписка может оказаться более экономически выгодной; платформа по подписке за использование ресурсов становится привлекательной только при большом объеме вызовов. Сначала рассчитайте собственный объем использования ресурсов.
Отложенность и стабильностьДополнительный слой шлюза приведет к небольшому увеличению задержек, а также к возможности возникновения проблем с превышением времени выполнения операций и снижением качества обслуживания (деградации).
Криптографическая безопасность ключейКлючи следует хранить в переменных окружения, а не закладывать их непосредственно в фронтенд или публичные репозитории.
5. Итоги
Суть снижения затрат на LLM (Large Language Models) можно выразить одной фразой: пусть дешевые модели выполняют большинство работы, а дорогие используются только при необходимости, а также устраняются все лишние токены (разрешения, подключения и т. д.); процесс “связи с несколькими системами” превращается в простую операцию изменения одной строки кода.base_urlМаршрутизация и кэширование — это два бесплатных инструмента; давайте сначала их реализуем.
Ссылка на статью:https://airai.cc/ru/ai-news/48/
Было ли это полезно?