llmbroker
Объедините множество бесплатных, ограниченных лимитами LLM в одну надёжную модель — без оплаты премиум-подписки и без единой точки отказа. Никаких тяжёлых зависимостей наподобие LangChain.
Быстрый старт
Установите llmbroker, затем:
llmbroker preset freetier > llms.toml # готовый пул бесплатных моделей
llmbroker env llms.toml > .env # какие ключи нужны и где их взять
llms = llmbroker.Broker("llms.toml")
print(llms.ask("Привет, как дела?").text)
Заполните те ключи, которые легко получить: модель без ключа просто остаётся неактивной. Если модель упёрлась в rate limit, брокер охладит её и переключится на следующую — вы получаете ответ, а не ошибку, пока жива хотя бы одна модель.
Куда дальше
| Ваш сценарий | Читайте |
|---|---|
| Простой скрипт | Использование: пул, таймауты, оценка качества |
| FastAPI, агенты, воркеры | Асинхронность: тот же API с await |
| Function calling | Инструменты и агенты: весь tool-цикл одной функцией |
| Секреты уже в AWS или Vault | API-ключи: брокер читает их прямо оттуда |
| Несколько инстансов, общая БД | Серверы и кластеры: sqlite / Postgres / MongoDB, ключ на пользователя |
Возможности
- Автоматический failover — ошибка только когда не осталось совсем никого
(
NoLLMAvailableError). - Chat, инструменты и агенты —
ask, многоходовыйchat, tool calling. - Async-first —
AsyncBroker;Broker— блокирующая обёртка того же движка. - Самообучающийся пул — оценивайте ответы, слабые модели уходят в конец очереди.
- Ключи где угодно — окружение,
.env, БД, AWS, Vault или свой бэкенд. - Масштабирование без изменения кода — общая БД на несколько инстансов, свой ключ на пользователя.
- Отключение моделей вручную и снимок состояния пула.
Полный справочник API — Reference.