feat: add UnoRouter as an OpenAI-compatible provider#32673
Conversation
|
|
Greptile SummaryThis is a pure data PR that registers UnoRouter as a new OpenAI-compatible provider, following the same shape as recent openai_like additions. No production code paths are changed.
Confidence Score: 4/5Safe to merge once the open question about unverified endpoint claims (from the prior review thread) is resolved; the data-only change carries no risk to existing code paths. All three files are pure data additions with no code logic changes, so regression risk is minimal. The only open item is that
|
| Filename | Overview |
|---|---|
| litellm/llms/openai_like/providers.json | Adds unorouter registry entry following the established openai_like pattern; supported_endpoints lists /v1/responses and /v1/embeddings whose support has not been verified against the live API (flagged in prior review thread) |
| model_prices_and_context_window.json | Adds 8 unorouter model entries with pricing and context limits; unorouter/claude-sonnet-5 claims supports_adaptive_thinking: true — this is the first non-native-Anthropic provider to carry this flag, and actual extended-thinking behaviour via the OpenAI-like path is unverified |
| provider_endpoints_support.json | Adds unorouter endpoint support entry; marks responses: true and embeddings: true without verified live evidence beyond chat completions (prior thread) |
Reviews (2): Last reviewed commit: "fix: add supports_adaptive_thinking + su..." | Re-trigger Greptile
| "messages": false, | ||
| "responses": true, | ||
| "embeddings": true, | ||
| "image_generations": false, | ||
| "audio_transcriptions": false, | ||
| "audio_speech": false, | ||
| "moderations": false, | ||
| "batches": false, | ||
| "rerank": false, | ||
| "a2a": false | ||
| } | ||
| }, | ||
| "predibase": { | ||
| "display_name": "Predibase (`predibase`)", |
There was a problem hiding this comment.
Unverified endpoint claims for
responses and embeddings
The PR description smoke-tests only /v1/chat/completions, yet provider_endpoints_support.json marks responses: true and embeddings: true, and providers.json lists /v1/responses and /v1/embeddings in supported_endpoints. If UnoRouter does not actually implement these endpoints, users routing embeddings or Responses API calls through this provider will hit runtime errors. Please either verify these endpoints with live calls (similar to the chat completions curl shown) or set them to false/remove them from supported_endpoints until verified.
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
Companion docs PR: BerriAI/litellm-docs#522 (provider page + sidebar entry). Recommend merging both together. |
|
Re the greptile P2 on unverified endpoint claims: both endpoints re-verified live against api.unorouter.com just now.
So the |
Relevant issues
None (provider addition, same shape as the merged Gonka24/darkbloom additions).
Summary
Adds UnoRouter as an OpenAI-compatible chat completions provider.
unorouterhttps://api.unorouter.com/v1UNOROUTER_API_KEYUnoRouter is a fully open-source gateway (github.com/unorouter) serving 200+ models; models with a
:freesuffix are a genuine free tier (priced 0 in the added entries).Changes
litellm/llms/openai_like/providers.json:unorouterregistry entrymodel_prices_and_context_window.json: 8 model entries (unorouter/<model>) with pricing and context limits from the live pricing API (https://unorouter.com/api/models/pricing)provider_endpoints_support.json: endpoints entryPre-Submission checklist
Screenshots / Proof of Fix
Smoke-tested live against the endpoint (real calls):
Chat completions (non-stream):
Streaming with
stream_options.include_usage:GET /v1/modelsalso live (returns the full catalog) for model discovery.