| ▲ | Show HN: We built open OpenRouter that turns usage into a better model(github.com) | |||||||||||||||||||||||||||||||
| 131 points by SilenN 7 hours ago | 22 comments | ||||||||||||||||||||||||||||||||
Hi HN, we built an open source model gateway. It's a single place to manage our own self hosted, frontier, and open source models in one place. It’s is rust native, built for concurrency, and implements all the config quirks across models and providers (streaming formats, tool calls, model parameters, rate limits, and different error behavior). The gateway adds under 1 ms for BYOK requests and under 2 ms when Experiential supplies the provider key. It has every major inference provider, and 1000+ models refreshed daily via a codex agent that opens a PR. Compared to other similar projects we’re open source, take no markup, allow you to mix local models with a marketplace, and use your traffic to (opt in) train you a model. Simple routing doesn’t warrant a 10% token markup. The way we do this is given standardized OTel traces, we mine representative real tasks, use text world models to simulate rollouts for various models, apply an LLM judge, and fit a nearest neighbor classifier on top of an embedding of a prompt to decide the optimal model for each request. Usually this can map out a better pareto curve on cost/quality than just calling single models but it’s not perfect. Using these simulations we can also do things like suggesting cache hit optimizations, new model suggestions, and training models. It’s open source, so you can deploy it on your own infrastructure, use our hosted version with 0 markup, or read how we design for maximum availability on our website. | ||||||||||||||||||||||||||||||||
| ▲ | sangwook 13 minutes ago | parent | next [-] | |||||||||||||||||||||||||||||||
What online signal recalibrates simulated rankings against actual task success? Also do you have a plan to support semantic caching at the router level? | ||||||||||||||||||||||||||||||||
| ▲ | Areibman 6 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Could you say more about how caching works? One major advantage of sticking with a single model is saving money on cached input tokens. I'd imagine if you swap between a bunch of models, you may improve performance but cost would would balloon out of control | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | forgetme2020 13 minutes ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
what's the business model here. How does experiential labs make money | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | akshay_akula 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Open source and no markup is the right default for a gateway. The caching question above is the one I would want answered before swapping models though. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | swthbht an hour ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Very cool. Does your gateway decide effort levels as well? Or just models? | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | ceroxylon 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
>The gateway adds under 1 ms for BYOK requests Amazing! Really brilliant idea, thank you for sharing this project. There is so much ground to cover in the LLM gateway / routing / reporting world, and this is a great start. The Tinker implementation is my favorite part, fine tuning is much better than a sea of context files. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | 0xbadcafebee 2 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
You started it a week ago? I look forward to checking back in 3 weeks when you've exited for $1B | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | cheema33 4 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
I have not tried it yet. Is it similar to LiteLLM? If so, what sets it apart? | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | 23david 5 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Super interesting and congrats on the release. Curious if you initially had this in Python and then rewrote in Rust? | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | ashermania 6 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||
Finally an open source tool doing this! | ||||||||||||||||||||||||||||||||