llmbroker
Объедините множество бесплатных, ограниченных лимитами LLM в одну надёжную модель — без оплаты премиум-подписки и без единой точки отказа. Никаких тяжёлых зависимостей наподобие LangChain.
Быстрый старт
Установите llmbroker. Бесплатные модели вызываются по API-ключам провайдеров — какие именно ключи нужны и где их получить, скажет сам llmbroker:
llmbroker env freetier > .env # заготовка .env: ключ, а над ним — где его взять
Заполните те, которые легко достать, — хотя бы один, — и вызывайте:
import llmbroker
broker = llmbroker.Broker()
print(broker.ask("Привет, как дела?").text)
Это вся настройка — никакого конфиг-файла. Broker() поднимает курируемый пул
бесплатных моделей, читает ключи из окружения (и из .env в рабочем каталоге) и
сам поддерживает список моделей актуальным.
Ключ, который вы не получили, ничего не ломает: модель без него просто остаётся неактивной. А если модель упёрлась в rate limit, брокер охладит её и переключится на следующую — вы получаете ответ, а не ошибку, пока жива хотя бы одна модель.
Возможности
- Без конфигурации —
Broker()не требует ни одного аргумента: курируемый пул приходит сам и сам держится свежим. - Автоматический failover — брокер перебирает модели, пока одна не ответит;
если ответить некому,
NoLLMAvailableErrorговорит, почему. - Chat, инструменты и агенты —
ask, многоходовыйchat, весь tool-цикл одной функцией. - Асинхронность и стриминг — тот же API с
await, а ответ можно печатать по мере того, как модель его пишет. - Платная модель по имени —
direct("opus")рядом с бесплатным пулом: вечный алиас вместо номера версии, вызов напрямую, мимо пула. - Самообучающийся пул — оценивайте ответы, слабые модели уходят в конец очереди.
- Ключи где угодно — окружение,
.env, БД, AWS, Vault или своё хранилище; свой ключ на пользователя. - Масштабирование без изменения кода — общая БД на несколько процессов и хостов, свой endpoint в общей маршрутизации.
- Видно, что происходит — снимок пула, журнал вызовов и
статистика, трассировка по своему
trace_id, алерт по деградации. - Отключение моделей вручную.