Skip to main content

Build Status Coverage

llmbroker

Turn a crowd of free, rate-limited LLMs into one reliable model — no premium subscription, no single point of failure. No LangChain, no heavy deps.

pip install llmbroker
llmbroker preset freetier > llms.toml   # ready-made pool of free models
llmbroker env llms.toml > .env          # which API keys to get, and where
llms = llmbroker.Broker("llms.toml")
reply = llms.ask("Explain decorators in one sentence")
print(reply.text)   # groq rate-limited? gemini answers instead

Fill in whichever keys are easy — models without keys just stay inactive.

Automatic failover llms.ask(...) — next model answers when one is down
Chat, tools & agents llms.chat(messages, tools=...), run_tool_loop(...)
Async-first AsyncBroker — same engine, for FastAPI / agents / workers
Scale out Broker("postgresql://…") — sqlite / Postgres / MongoDB, calling code unchanged
Self-regulating pool reply.record_quality(0.3) — weak models sink per task kind; rate later with llms.record_quality(...)
Pluggable secrets env vars, DB, AWS, Vault, or your own backend
Multi-user mode per-user API keys on top of one shared pool

Documentation

Development

Do not forget to run . ./activate.sh. It needs uv installed.

Use pre-commit hooks for code quality:

pre-commit install

Install invoke preferably with uv tool:

uv tool install invoke

For a list of available scripts run invoke --list; for details on one, invoke <script> --help.

The bundled freetier preset drifts as providers change their free tiers; refresh it with invoke catalog-refresh, which prints the maintenance runbook (presets/freetier-refresh-prompt.md).

Reports:

Created with cookiecutter using template

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

llmbroker-1.3.0.tar.gz (254.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

llmbroker-1.3.0-py3-none-any.whl (64.2 kB view details)

Uploaded Python 3

File details

Details for the file llmbroker-1.3.0.tar.gz.

File metadata

  • Download URL: llmbroker-1.3.0.tar.gz
  • Upload date:
  • Size: 254.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for llmbroker-1.3.0.tar.gz
Algorithm Hash digest
SHA256 fd0d9ef37b7e0612fbd171ba658fc98ffef82c294a836fda8d6fded567d26700
MD5 a78f4ca3b8e186660e8fcab05c2a91ed
BLAKE2b-256 71790bddd2e111ffbdb890cc0382c8816670ecf67beef5f55ff701a073877a5c

See more details on using hashes here.

File details

Details for the file llmbroker-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: llmbroker-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 64.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for llmbroker-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 e5cb62a61851d839b57c03a4d08bbbc25b67852f729fc12c6cd976e53dc024d2
MD5 a80671fc0fae3603d7add867afeb8c6f
BLAKE2b-256 785c4edec12e81493b71d6a1cc6b1046c6165b3ae2458528d8d9587b0b6eee79

See more details on using hashes here.

Release history Release notifications | RSS feed

1.7.0

2 files

1.6.0

2 files

1.5.2

2 files

1.5.1

2 files

1.5.0

2 files

1.4.0

2 files

This release

1.3.0 This release

2 files

1.2.0

2 files

1.1.0

2 files

1.0.0

2 files

0.0.12

2 files

0.0.11

2 files

0.0.10

2 files

0.0.9

2 files

0.0.8

2 files

0.0.7

2 files

0.0.6

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page