mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-03 02:22:24 +00:00
Merge 6c948f1de7 into 49ca04d8c3
This commit is contained in:
commit
ee1321f7b3
9 changed files with 702 additions and 1 deletions
|
|
@ -789,6 +789,7 @@ openai_compatible_endpoints: List = [
|
|||
"https://ai-gateway.vercel.sh/v1",
|
||||
"https://api.inference.wandb.ai/v1",
|
||||
"https://api.clarifai.com/v2/ext/openai/v1",
|
||||
"https://gateway.uomi.ai/v1",
|
||||
]
|
||||
|
||||
|
||||
|
|
@ -832,6 +833,7 @@ openai_compatible_providers: List = [
|
|||
"poe", # Poe - JSON-configured provider
|
||||
"chutes", # Chutes - JSON-configured provider
|
||||
"parasail", # Parasail - JSON-configured provider
|
||||
"uomi", # UOMI - JSON-configured provider
|
||||
"featherless_ai",
|
||||
"nscale",
|
||||
"nebius",
|
||||
|
|
@ -873,6 +875,7 @@ openai_text_completion_compatible_providers: List = (
|
|||
"lambda_ai",
|
||||
"hyperbolic",
|
||||
"wandb",
|
||||
"uomi",
|
||||
]
|
||||
)
|
||||
_openai_like_providers: List = [
|
||||
|
|
|
|||
|
|
@ -385,6 +385,9 @@ def get_llm_provider( # noqa: PLR0915
|
|||
elif endpoint == "https://api.inference.wandb.ai/v1":
|
||||
custom_llm_provider = "wandb"
|
||||
dynamic_api_key = get_secret_str("WANDB_API_KEY")
|
||||
elif endpoint == "https://gateway.uomi.ai/v1":
|
||||
custom_llm_provider = "uomi"
|
||||
dynamic_api_key = get_secret_str("UOMI_API_KEY")
|
||||
|
||||
if api_base is not None and not isinstance(api_base, str):
|
||||
raise Exception(
|
||||
|
|
|
|||
|
|
@ -141,5 +141,13 @@
|
|||
"special_handling": {
|
||||
"force_store_false": true
|
||||
}
|
||||
},
|
||||
"uomi": {
|
||||
"base_url": "https://gateway.uomi.ai/v1",
|
||||
"api_key_env": "UOMI_API_KEY",
|
||||
"api_base_env": "UOMI_API_BASE",
|
||||
"param_mappings": {
|
||||
"max_completion_tokens": "max_tokens"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29876,6 +29876,279 @@
|
|||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"uomi/deepseek/deepseek-chat-v3-0324": {
|
||||
"input_cost_per_token": 2.69325e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 163840,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 163840,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.00000108675,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/deepseek/deepseek-v3.2": {
|
||||
"input_cost_per_token": 2.772e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.2588e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/deepseek/deepseek-v4-flash": {
|
||||
"input_cost_per_token": 7.864e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1048576,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.5728e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/deepseek/deepseek-v4-pro": {
|
||||
"input_cost_per_token": 0.000001535187,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1048576,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.0000030625,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/google/gemma-4-26b-a4b-it": {
|
||||
"input_cost_per_token": 9.975e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.885e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/google/gemma-4-31B-it": {
|
||||
"input_cost_per_token": 1.435e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.13e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/minimax/minimax-m2.5": {
|
||||
"input_cost_per_token": 2.93563e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 204800,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.0000013195,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/minimax/minimax-m2.7": {
|
||||
"input_cost_per_token": 3.9375e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 204800,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000001575,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/mistralai/mistral-nemo": {
|
||||
"input_cost_per_token": 2.8e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.4e-8,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/nvidia/nemotron-3-super-120b-a12b": {
|
||||
"input_cost_per_token": 9.45e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1000000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.725e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/openai/gpt-oss-120b": {
|
||||
"input_cost_per_token": 5.25e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.725e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3-235b-a22b-2507": {
|
||||
"input_cost_per_token": 1.365e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.195e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3.5-397b-a17b": {
|
||||
"input_cost_per_token": 5.355e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000003507,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3.6-27b": {
|
||||
"input_cost_per_token": 2.3120000000000003e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.00000192,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3.6-35b-a3b": {
|
||||
"input_cost_per_token": 1.1200000000000002e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/xiaomi/mimo-v2-flash": {
|
||||
"input_cost_per_token": 1.05e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.15e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/xiaomi/mimo-v2.5": {
|
||||
"input_cost_per_token": 1.47e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1048576,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 2.94e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-4.5-air": {
|
||||
"input_cost_per_token": 1.6275e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 9.835e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-4.7": {
|
||||
"input_cost_per_token": 5.145e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 202752,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000002134125,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-5": {
|
||||
"input_cost_per_token": 9.38437e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 202752,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000002888812,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-5.1": {
|
||||
"input_cost_per_token": 0.000001379318,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 202752,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000004373727,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"qwen.qwen3-coder-480b-a35b-v1:0": {
|
||||
"input_cost_per_token": 2.2e-07,
|
||||
"litellm_provider": "bedrock_converse",
|
||||
|
|
@ -42131,4 +42404,4 @@
|
|||
"supports_reasoning": true,
|
||||
"source": "https://serverless.tensormesh.ai/v1/models/openrouter"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1818,6 +1818,23 @@
|
|||
"interactions": true
|
||||
}
|
||||
},
|
||||
"uomi": {
|
||||
"display_name": "UOMI (`uomi`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/uomi",
|
||||
"endpoints": {
|
||||
"chat_completions": true,
|
||||
"messages": false,
|
||||
"responses": false,
|
||||
"embeddings": false,
|
||||
"image_generations": false,
|
||||
"audio_transcriptions": false,
|
||||
"audio_speech": false,
|
||||
"moderations": false,
|
||||
"batches": false,
|
||||
"rerank": false,
|
||||
"a2a": false
|
||||
}
|
||||
},
|
||||
"predibase": {
|
||||
"display_name": "Predibase (`predibase`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/predibase",
|
||||
|
|
|
|||
|
|
@ -3409,6 +3409,7 @@ class LlmProviders(str, Enum):
|
|||
CHUTES = "chutes"
|
||||
NEOSANTARA = "neosantara"
|
||||
PARASAIL = "parasail"
|
||||
UOMI = "uomi"
|
||||
XIAOMI_MIMO = "xiaomi_mimo"
|
||||
TENSORMESH = "tensormesh"
|
||||
LITELLM_AGENT = "litellm_agent"
|
||||
|
|
|
|||
|
|
@ -29876,6 +29876,279 @@
|
|||
"supports_tool_choice": true,
|
||||
"supports_reasoning": true
|
||||
},
|
||||
"uomi/deepseek/deepseek-chat-v3-0324": {
|
||||
"input_cost_per_token": 2.69325e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 163840,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 163840,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.00000108675,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/deepseek/deepseek-v3.2": {
|
||||
"input_cost_per_token": 2.772e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.2588e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/deepseek/deepseek-v4-flash": {
|
||||
"input_cost_per_token": 7.864e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1048576,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.5728e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/deepseek/deepseek-v4-pro": {
|
||||
"input_cost_per_token": 0.000001535187,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1048576,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.0000030625,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/google/gemma-4-26b-a4b-it": {
|
||||
"input_cost_per_token": 9.975e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.885e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/google/gemma-4-31B-it": {
|
||||
"input_cost_per_token": 1.435e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.13e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/minimax/minimax-m2.5": {
|
||||
"input_cost_per_token": 2.93563e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 204800,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.0000013195,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/minimax/minimax-m2.7": {
|
||||
"input_cost_per_token": 3.9375e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 204800,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 204800,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000001575,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/mistralai/mistral-nemo": {
|
||||
"input_cost_per_token": 2.8e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.4e-8,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/nvidia/nemotron-3-super-120b-a12b": {
|
||||
"input_cost_per_token": 9.45e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1000000,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1000000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.725e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/openai/gpt-oss-120b": {
|
||||
"input_cost_per_token": 5.25e-8,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 4.725e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3-235b-a22b-2507": {
|
||||
"input_cost_per_token": 1.365e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 6.195e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3.5-397b-a17b": {
|
||||
"input_cost_per_token": 5.355e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000003507,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3.6-27b": {
|
||||
"input_cost_per_token": 2.3120000000000003e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.00000192,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/qwen/qwen3.6-35b-a3b": {
|
||||
"input_cost_per_token": 1.1200000000000002e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/xiaomi/mimo-v2-flash": {
|
||||
"input_cost_per_token": 1.05e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 262144,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 262144,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 3.15e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/xiaomi/mimo-v2.5": {
|
||||
"input_cost_per_token": 1.47e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 1048576,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 1048576,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 2.94e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-4.5-air": {
|
||||
"input_cost_per_token": 1.6275e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 131072,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 131072,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 9.835e-7,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-4.7": {
|
||||
"input_cost_per_token": 5.145e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 202752,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000002134125,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-5": {
|
||||
"input_cost_per_token": 9.38437e-7,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 202752,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000002888812,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"uomi/z-ai/glm-5.1": {
|
||||
"input_cost_per_token": 0.000001379318,
|
||||
"litellm_provider": "uomi",
|
||||
"max_input_tokens": 202752,
|
||||
"max_output_tokens": 8192,
|
||||
"max_tokens": 202752,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 0.000004373727,
|
||||
"source": "https://gateway.uomi.ai/v1/models",
|
||||
"supports_function_calling": false,
|
||||
"supports_system_messages": true,
|
||||
"supports_tool_choice": false
|
||||
},
|
||||
"qwen.qwen3-coder-480b-a35b-v1:0": {
|
||||
"input_cost_per_token": 2.2e-07,
|
||||
"litellm_provider": "bedrock_converse",
|
||||
|
|
|
|||
|
|
@ -1922,6 +1922,23 @@
|
|||
"interactions": true
|
||||
}
|
||||
},
|
||||
"uomi": {
|
||||
"display_name": "UOMI (`uomi`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/uomi",
|
||||
"endpoints": {
|
||||
"chat_completions": true,
|
||||
"messages": false,
|
||||
"responses": false,
|
||||
"embeddings": false,
|
||||
"image_generations": false,
|
||||
"audio_transcriptions": false,
|
||||
"audio_speech": false,
|
||||
"moderations": false,
|
||||
"batches": false,
|
||||
"rerank": false,
|
||||
"a2a": false
|
||||
}
|
||||
},
|
||||
"predibase": {
|
||||
"display_name": "Predibase (`predibase`)",
|
||||
"url": "https://docs.litellm.ai/docs/providers/predibase",
|
||||
|
|
|
|||
106
tests/test_litellm/llms/uomi/test_uomi.py
Normal file
106
tests/test_litellm/llms/uomi/test_uomi.py
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
import json
|
||||
import os
|
||||
from pathlib import Path
|
||||
from unittest.mock import patch
|
||||
|
||||
UOMI_API_BASE = "https://gateway.uomi.ai/v1"
|
||||
UOMI_MODEL = "deepseek/deepseek-v4-flash"
|
||||
|
||||
|
||||
def test_uomi_json_registry():
|
||||
import litellm
|
||||
from litellm.llms.openai_like.json_loader import JSONProviderRegistry
|
||||
|
||||
assert litellm.LlmProviders.UOMI.value == "uomi"
|
||||
assert litellm.LlmProviders("uomi") == litellm.LlmProviders.UOMI
|
||||
assert JSONProviderRegistry.exists("uomi")
|
||||
|
||||
config = JSONProviderRegistry.get("uomi")
|
||||
assert config is not None
|
||||
assert config.base_url == UOMI_API_BASE
|
||||
assert config.api_key_env == "UOMI_API_KEY"
|
||||
assert config.api_base_env == "UOMI_API_BASE"
|
||||
assert config.param_mappings.get("max_completion_tokens") == "max_tokens"
|
||||
|
||||
|
||||
def test_uomi_listed_in_openai_compatible_providers():
|
||||
from litellm.constants import (
|
||||
openai_compatible_providers,
|
||||
openai_text_completion_compatible_providers,
|
||||
)
|
||||
|
||||
assert "uomi" in openai_compatible_providers
|
||||
assert "uomi" in openai_text_completion_compatible_providers
|
||||
|
||||
|
||||
def test_uomi_dynamic_config_env_vars():
|
||||
from litellm.llms.openai_like.dynamic_config import create_config_class
|
||||
from litellm.llms.openai_like.json_loader import JSONProviderRegistry
|
||||
|
||||
config = create_config_class(JSONProviderRegistry.get("uomi"))()
|
||||
|
||||
with patch.dict(
|
||||
os.environ,
|
||||
{
|
||||
"UOMI_API_KEY": "test-key",
|
||||
"UOMI_API_BASE": "https://custom.uomi.test/v1",
|
||||
},
|
||||
):
|
||||
api_base, api_key = config._get_openai_compatible_provider_info(None, None)
|
||||
|
||||
assert api_base == "https://custom.uomi.test/v1"
|
||||
assert api_key == "test-key"
|
||||
|
||||
|
||||
def test_uomi_provider_detection_by_prefix():
|
||||
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
|
||||
|
||||
model, provider, _, api_base = get_llm_provider(f"uomi/{UOMI_MODEL}")
|
||||
|
||||
assert model == UOMI_MODEL
|
||||
assert provider == "uomi"
|
||||
assert api_base == UOMI_API_BASE
|
||||
|
||||
|
||||
def test_uomi_provider_detection_by_api_base():
|
||||
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
|
||||
|
||||
model, provider, _, api_base = get_llm_provider(
|
||||
model="custom-uomi-model",
|
||||
api_base=UOMI_API_BASE,
|
||||
)
|
||||
|
||||
assert model == "custom-uomi-model"
|
||||
assert provider == "uomi"
|
||||
assert api_base == UOMI_API_BASE
|
||||
|
||||
|
||||
def test_uomi_chat_complete_url():
|
||||
from litellm.llms.openai_like.dynamic_config import create_config_class
|
||||
from litellm.llms.openai_like.json_loader import JSONProviderRegistry
|
||||
|
||||
config = create_config_class(JSONProviderRegistry.get("uomi"))()
|
||||
|
||||
assert (
|
||||
config.get_complete_url(
|
||||
api_base=None,
|
||||
api_key=None,
|
||||
model=UOMI_MODEL,
|
||||
optional_params={},
|
||||
litellm_params={},
|
||||
)
|
||||
== f"{UOMI_API_BASE}/chat/completions"
|
||||
)
|
||||
|
||||
|
||||
def test_uomi_model_info_contains_catalog_pricing():
|
||||
repo_root = Path(__file__).parents[4]
|
||||
model_prices_path = repo_root / "model_prices_and_context_window.json"
|
||||
model_prices = json.loads(model_prices_path.read_text())
|
||||
model_info = model_prices[f"uomi/{UOMI_MODEL}"]
|
||||
|
||||
assert model_info["litellm_provider"] == "uomi"
|
||||
assert model_info["max_input_tokens"] == 1048576
|
||||
assert model_info["max_output_tokens"] == 8192
|
||||
assert model_info["input_cost_per_token"] == 7.864e-8
|
||||
assert model_info["output_cost_per_token"] == 1.5728e-7
|
||||
Loading…
Add table
Reference in a new issue