A self-hosted LLM proxy that saves you money.
Vectors in, savings out, semantically cached, intelligently routed, never a token wasted.
$ cargo install groat
Compiling groat v0.3.2
Finished release [optimized] target(s) in 4.12s
$ groat serve --port 8080
listening on 0.0.0.0:8080
routing → openai · anthropic · local
cache backend: redis (connected)
$ curl localhost:8080/v1/chat/completions
200 OK · 128 tokens · cache hit
cache_hit_rate: 68.4% | requests_today: 4,213
$ _
Swap the base URL in your OpenAI SDK. Keep your prompts, your code, your framework exactly as they are.
Every request is checked against the semantic cache and scored for routing — before it ever leaves your machine.
The dashboard shows every cache hit, every downgraded request, and exactly how much smaller your bill got.
Not another dashboard that tells you what you already spent.
One line change. Point your existing OpenAI SDK at Groat instead of the provider — everything else in your codebase stays untouched.
Not exact-match. Groat understands when two requests mean the same thing, even if the wording differs, and serves the cached response.
Cache matching runs on-device with candle. No request data leaves your machine to compute a similarity score.
Groat automatically structures requests to qualify for provider-side prompt caching discounts — no manual prompt engineering required.
See exactly what you're spending, what Groat saved, and which requests could have used a cheaper model.
cargo install groat && groat up. No Docker, no dependencies, no config file required to get started.
semantic cache
intent router
cache injection
No Docker, no config file, no signup. Install the binary, start it, and point your existing SDK at it.
install & run
change one line
That's it, everything else in your code stays exactly the same.