https://github.com/dimfeld/chronicle
LLM Proxy
https://github.com/dimfeld/chronicle
Last synced: over 1 year ago
JSON representation
LLM Proxy
- Host: GitHub
- URL: https://github.com/dimfeld/chronicle
- Owner: dimfeld
- License: apache-2.0
- Created: 2024-04-17T18:50:28.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-26T07:21:59.000Z (almost 2 years ago)
- Last Synced: 2025-03-17T16:41:46.143Z (over 1 year ago)
- Language: Rust
- Size: 745 KB
- Stars: 10
- Watchers: 2
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# chronicle
Chronicle is a proxy for language model API calls which
- Presents an OpenAI-compatible API regardless of the underlying provider. Switching providers is as easy as changing the model string in your request.
- Provides retries and optionally falls back to other providers on a failed call
- Records each call in a database, and sends OpenTelemetry events
- Lets you switch model provider APIs without changing your request format.
- Supports both SQLite and PostgreSQL databases
- Comes with a drop-in fetch function that will redirect OpenAI SDK calls to Chronicle instead.
- Supports logging "runs" and "steps" for multi-step workflows
[See the roadmap](https://imfeld.dev/notes/projects_chronicle) for the current status and other notes.
The project contains both a Rust crate named [chronicle-proxy](https://crates.io/crates/chronicle-proxy) in the `proxy` directory for embedding in applications, and a [turnkey server](https://crates.io/crates/chronicle-api) in the `api` directory which can be run directly.
See the [CHANGELOG](./api/CHANGELOG.md) for latest changes.
## Supported Providers
- OpenAI
- Anthropic
- AWS Bedrock
- Groq
- Ollama
- AnyScale
- DeepInfra
- Fireworks
- Together