Repository navigation
feat(providers): add UberLLM to the OpenAI-compatible registry - #981
Open
PSA-Team-source wants to merge 2 commits into
Open
PSA-Team-source wants to merge 2 commits into
PSA-Team-source wants to merge 2 commits into
Conversation
…stry imports again The row added in agentforce314#979 passed base_url= and env_var= (ProviderSpec takes default_base_url= and env_vars=), so importing src.providers raised TypeError and tests/test_provider_registry.py failed at collection. The same merge pasted a dict into the test module docstring; restore it, and list llmbuzz in the README provider block so test_the_readme_provider_list_matches_the_registry passes.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
All Submissions:
New Feature Submissions:
Description
Adds UberLLM (https://uberllm.dev) as a row in the OpenAI-compatible
ProviderSpecregistry. It is an OpenAI-compatible gateway serving/v1/chat/completions(streaming and tool calls supported) and a public/v1/modelswith Bearer auth, so it needs no bespoke class. One prepaid key covers DeepSeek, Qwen, OpenAI, Anthropic and Gemini models undervendor/modelids, usually below list price (per-model prices: https://uberllm.dev/models). Docs: https://uberllm.dev/docs/quickstart. Keys:UBERLLM_API_KEY, created at https://uberllm.dev/signup.I work on UberLLM. This follows the same pattern as #975 (cheapaimodel) and #972 (CloudGPU).
maincurrently fails to import the provider registry. The llm.buzz row merged in #979 passesbase_url=andenv_var=, whichProviderSpecdoes not accept, soimport src.providersraisesTypeErrorandtests/test_provider_registry.pyerrors at collection. The first commit here repairs that row (same values, correct field names, tuples), restores the test module docstring the same merge overwrote, and listsllmbuzzin the README block sotest_the_readme_provider_list_matches_the_registrypasses. Happy to split it into its own PR if you prefer.Changes proposed in this pull request:
src/providers/openai_compatible_specs.py: repair thellmbuzzrow; add theuberllmspec after it, base URLhttps://api.uberllm.dev/v1, default modeldeepseek/deepseek-v4.1-flash, five suggested models (deepseek/deepseek-v4.1-flash,deepseek/deepseek-v4-pro,qwen/qwen3-coder,openai/gpt-5.4-mini,anthropic/claude-sonnet-4.6),UBERLLM_API_KEY, aliasesuber-llm/uber_llmtests/test_provider_registry.py: restore the module docstring;uberllmadded toEXPECTED_NEW_PROVIDERSandVENDOR_DEFAULTSuberllm(andllmbuzzin the English list). English count 33 to 35, translated counts 28 to 29.Testing
python -m pytest -q tests/test_provider_registry.py: 27 passed (onmainit errors at collection)python -m pytest -q tests/test_provider_usage_and_reasoning.py tests/test_provider_registry.py: 49 passedpython -m pytest -q tests -k 'provider or registry or login or config': 1281 passed, 7 skipped, 51 failed; the same 51 fail with only the repair commit applied (async tests without an async plugin in my environment, hook/MCP tests), none touch the registryget_provider_class('uber-llm')resolves toUberllmProvider(same class asuberllm),resolve_api_key('uberllm')readsUBERLLM_API_KEY, and fordeepseek/deepseek-v4.1-flashandopenai/gpt-5.4-minionhttps://api.uberllm.dev/v1/:chat()andchat_stream_response()answered "What is 17 + 25?" with42(usage reported), and aget_weathertool request came back as atool_callsstop with{'city': 'Paris'}.🤖 Generated with Claude Code