Unreleased
0.1.0 - 2026-07-22
Added
- In-process execution through
LLMProxy.ProviderandLLMProxy.chat/2. - ReqLLM provider registration as
:llm_proxy, including remote BEAM calls. - Model catalog with aliases, ordered or shuffled deployments, per-deployment timeouts, circuit breakers, retries, and fallback across providers and models.
- Direct providers for OpenAI, Anthropic, OpenRouter, OpenAI Codex, and Kimi Code, plus an OpenAI-compatible provider helper for custom upstreams.
- Reasoning effort levels forwarded to models that support them.
- OpenAI Chat Completions (
/v1/chat/completions) with streaming. - Anthropic Messages (
/v1/messages) with streaming. - OpenAI Responses (
/v1/responses) with streaming. - OpenAI Moderations (
/v1/moderations). - Streaming heartbeats during upstream silence, bounded connection capacity, and terminal-failure classification.
- Configurable request body limits with authentication before body parsing.
- API key management with per-key token, message, and cache quotas plus composable budget limits.
- Provider token pools with stable user pinning and
Retry-Aftercooldowns. - Usage tracking for input, output, and cache tokens plus estimated USD cost.
- Request metadata and tags for cost attribution.
- Trace logging with request and response bodies, latency, and a feedback API.
- Guardrail hooks for request, response, and stream policy without a bundled policy engine.
- Deterministic cache hooks for pluggable non-stream response caching.
- Embeddable storage migrations with SQLite and DuckDB (QuackDB) adapters.
- Optional Incant admin surfaces for API keys, provider tokens, traces, and messages, plus an operations dashboard.
- OpenTelemetry instrumentation for HTTP, Ecto, and Req.
- Drain support for graceful deployments.
Compatibility
- Requires Elixir 1.17 or later.
- Incant integration is optional and supports Incant 0.1.x.