mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-31 06:56:59 +00:00
feat(runinfra): add GLM-5.3 and DeepSeek V4.1 Flash, refresh prices, drop retired models
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
c472c80a19
commit
9daed96cf2
3 changed files with 97 additions and 86 deletions
|
|
@ -49906,26 +49906,6 @@
|
||||||
"supports_system_messages": true,
|
"supports_system_messages": true,
|
||||||
"supports_tool_choice": true
|
"supports_tool_choice": true
|
||||||
},
|
},
|
||||||
"runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4": {
|
|
||||||
"cache_read_input_token_cost": 2e-07,
|
|
||||||
"input_cost_per_token": 2e-06,
|
|
||||||
"litellm_provider": "runinfra",
|
|
||||||
"max_input_tokens": 262144,
|
|
||||||
"max_output_tokens": 32768,
|
|
||||||
"max_tokens": 32768,
|
|
||||||
"mode": "chat",
|
|
||||||
"output_cost_per_token": 6e-06,
|
|
||||||
"source": "https://runinfra.ai/inference-api/qwen3-8-2-4t-a95b",
|
|
||||||
"supported_endpoints": [
|
|
||||||
"/v1/chat/completions"
|
|
||||||
],
|
|
||||||
"supports_function_calling": true,
|
|
||||||
"supports_native_streaming": true,
|
|
||||||
"supports_prompt_caching": true,
|
|
||||||
"supports_reasoning": true,
|
|
||||||
"supports_response_schema": true,
|
|
||||||
"supports_tool_choice": true
|
|
||||||
},
|
|
||||||
"runinfra/Qwen/Qwen3.8-27B": {
|
"runinfra/Qwen/Qwen3.8-27B": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 1e-08,
|
||||||
"input_cost_per_token": 1e-07,
|
"input_cost_per_token": 1e-07,
|
||||||
|
|
@ -49947,16 +49927,16 @@
|
||||||
"supports_tool_choice": true,
|
"supports_tool_choice": true,
|
||||||
"supports_vision": true
|
"supports_vision": true
|
||||||
},
|
},
|
||||||
"runinfra/deepseek-ai/DeepSeek-V4-Flash-0731": {
|
"runinfra/deepseek-ai/DeepSeek-V4.1-Flash": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 3e-08,
|
||||||
"input_cost_per_token": 1.3e-07,
|
"input_cost_per_token": 1.4e-07,
|
||||||
"litellm_provider": "runinfra",
|
"litellm_provider": "runinfra",
|
||||||
"max_input_tokens": 1048576,
|
"max_input_tokens": 1048576,
|
||||||
"max_output_tokens": 32768,
|
"max_output_tokens": 32768,
|
||||||
"max_tokens": 32768,
|
"max_tokens": 32768,
|
||||||
"mode": "chat",
|
"mode": "chat",
|
||||||
"output_cost_per_token": 2.7e-07,
|
"output_cost_per_token": 5.8e-07,
|
||||||
"source": "https://runinfra.ai/inference-api/deepseek-v4-flash",
|
"source": "https://runinfra.ai/inference-api/deepseek-v4-1-flash",
|
||||||
"supported_endpoints": [
|
"supported_endpoints": [
|
||||||
"/v1/chat/completions"
|
"/v1/chat/completions"
|
||||||
],
|
],
|
||||||
|
|
@ -49967,16 +49947,16 @@
|
||||||
"supports_response_schema": true,
|
"supports_response_schema": true,
|
||||||
"supports_tool_choice": true
|
"supports_tool_choice": true
|
||||||
},
|
},
|
||||||
"runinfra/deepseek-ai/DeepSeek-V4-Pro-0813": {
|
"runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017": {
|
||||||
"cache_read_input_token_cost": 3e-08,
|
"cache_read_input_token_cost": 1e-08,
|
||||||
"input_cost_per_token": 6e-07,
|
"input_cost_per_token": 1.5e-07,
|
||||||
"litellm_provider": "runinfra",
|
"litellm_provider": "runinfra",
|
||||||
"max_input_tokens": 1048576,
|
"max_input_tokens": 1048576,
|
||||||
"max_output_tokens": 32768,
|
"max_output_tokens": 32768,
|
||||||
"max_tokens": 32768,
|
"max_tokens": 32768,
|
||||||
"mode": "chat",
|
"mode": "chat",
|
||||||
"output_cost_per_token": 1.9e-06,
|
"output_cost_per_token": 6e-07,
|
||||||
"source": "https://runinfra.ai/inference-api/deepseek-v4-pro",
|
"source": "https://runinfra.ai/inference-api/deepseek-v4-1-flash-1017",
|
||||||
"supported_endpoints": [
|
"supported_endpoints": [
|
||||||
"/v1/chat/completions"
|
"/v1/chat/completions"
|
||||||
],
|
],
|
||||||
|
|
@ -49985,7 +49965,8 @@
|
||||||
"supports_prompt_caching": true,
|
"supports_prompt_caching": true,
|
||||||
"supports_reasoning": true,
|
"supports_reasoning": true,
|
||||||
"supports_response_schema": true,
|
"supports_response_schema": true,
|
||||||
"supports_tool_choice": true
|
"supports_tool_choice": true,
|
||||||
|
"supports_vision": true
|
||||||
},
|
},
|
||||||
"runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16": {
|
"runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 1e-08,
|
||||||
|
|
@ -50028,15 +50009,35 @@
|
||||||
"supports_tool_choice": true,
|
"supports_tool_choice": true,
|
||||||
"supports_vision": true
|
"supports_vision": true
|
||||||
},
|
},
|
||||||
"runinfra/zai-org/GLM-5.3-Flash": {
|
"runinfra/zai-org/GLM-5.3": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 1.4e-07,
|
||||||
"input_cost_per_token": 1e-07,
|
"input_cost_per_token": 1.4e-06,
|
||||||
"litellm_provider": "runinfra",
|
"litellm_provider": "runinfra",
|
||||||
"max_input_tokens": 1048576,
|
"max_input_tokens": 1048576,
|
||||||
"max_output_tokens": 32768,
|
"max_output_tokens": 32768,
|
||||||
"max_tokens": 32768,
|
"max_tokens": 32768,
|
||||||
"mode": "chat",
|
"mode": "chat",
|
||||||
"output_cost_per_token": 4e-07,
|
"output_cost_per_token": 4.4e-06,
|
||||||
|
"source": "https://runinfra.ai/inference-api/glm-5-3",
|
||||||
|
"supported_endpoints": [
|
||||||
|
"/v1/chat/completions"
|
||||||
|
],
|
||||||
|
"supports_function_calling": true,
|
||||||
|
"supports_native_streaming": true,
|
||||||
|
"supports_prompt_caching": true,
|
||||||
|
"supports_reasoning": true,
|
||||||
|
"supports_response_schema": true,
|
||||||
|
"supports_tool_choice": true
|
||||||
|
},
|
||||||
|
"runinfra/zai-org/GLM-5.3-Flash": {
|
||||||
|
"cache_read_input_token_cost": 3e-08,
|
||||||
|
"input_cost_per_token": 1.1e-07,
|
||||||
|
"litellm_provider": "runinfra",
|
||||||
|
"max_input_tokens": 1048576,
|
||||||
|
"max_output_tokens": 32768,
|
||||||
|
"max_tokens": 32768,
|
||||||
|
"mode": "chat",
|
||||||
|
"output_cost_per_token": 4.5e-07,
|
||||||
"source": "https://runinfra.ai/inference-api/glm-5-3-flash",
|
"source": "https://runinfra.ai/inference-api/glm-5-3-flash",
|
||||||
"supported_endpoints": [
|
"supported_endpoints": [
|
||||||
"/v1/chat/completions"
|
"/v1/chat/completions"
|
||||||
|
|
|
||||||
|
|
@ -49906,26 +49906,6 @@
|
||||||
"supports_system_messages": true,
|
"supports_system_messages": true,
|
||||||
"supports_tool_choice": true
|
"supports_tool_choice": true
|
||||||
},
|
},
|
||||||
"runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4": {
|
|
||||||
"cache_read_input_token_cost": 2e-07,
|
|
||||||
"input_cost_per_token": 2e-06,
|
|
||||||
"litellm_provider": "runinfra",
|
|
||||||
"max_input_tokens": 262144,
|
|
||||||
"max_output_tokens": 32768,
|
|
||||||
"max_tokens": 32768,
|
|
||||||
"mode": "chat",
|
|
||||||
"output_cost_per_token": 6e-06,
|
|
||||||
"source": "https://runinfra.ai/inference-api/qwen3-8-2-4t-a95b",
|
|
||||||
"supported_endpoints": [
|
|
||||||
"/v1/chat/completions"
|
|
||||||
],
|
|
||||||
"supports_function_calling": true,
|
|
||||||
"supports_native_streaming": true,
|
|
||||||
"supports_prompt_caching": true,
|
|
||||||
"supports_reasoning": true,
|
|
||||||
"supports_response_schema": true,
|
|
||||||
"supports_tool_choice": true
|
|
||||||
},
|
|
||||||
"runinfra/Qwen/Qwen3.8-27B": {
|
"runinfra/Qwen/Qwen3.8-27B": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 1e-08,
|
||||||
"input_cost_per_token": 1e-07,
|
"input_cost_per_token": 1e-07,
|
||||||
|
|
@ -49947,16 +49927,16 @@
|
||||||
"supports_tool_choice": true,
|
"supports_tool_choice": true,
|
||||||
"supports_vision": true
|
"supports_vision": true
|
||||||
},
|
},
|
||||||
"runinfra/deepseek-ai/DeepSeek-V4-Flash-0731": {
|
"runinfra/deepseek-ai/DeepSeek-V4.1-Flash": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 3e-08,
|
||||||
"input_cost_per_token": 1.3e-07,
|
"input_cost_per_token": 1.4e-07,
|
||||||
"litellm_provider": "runinfra",
|
"litellm_provider": "runinfra",
|
||||||
"max_input_tokens": 1048576,
|
"max_input_tokens": 1048576,
|
||||||
"max_output_tokens": 32768,
|
"max_output_tokens": 32768,
|
||||||
"max_tokens": 32768,
|
"max_tokens": 32768,
|
||||||
"mode": "chat",
|
"mode": "chat",
|
||||||
"output_cost_per_token": 2.7e-07,
|
"output_cost_per_token": 5.8e-07,
|
||||||
"source": "https://runinfra.ai/inference-api/deepseek-v4-flash",
|
"source": "https://runinfra.ai/inference-api/deepseek-v4-1-flash",
|
||||||
"supported_endpoints": [
|
"supported_endpoints": [
|
||||||
"/v1/chat/completions"
|
"/v1/chat/completions"
|
||||||
],
|
],
|
||||||
|
|
@ -49967,16 +49947,16 @@
|
||||||
"supports_response_schema": true,
|
"supports_response_schema": true,
|
||||||
"supports_tool_choice": true
|
"supports_tool_choice": true
|
||||||
},
|
},
|
||||||
"runinfra/deepseek-ai/DeepSeek-V4-Pro-0813": {
|
"runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017": {
|
||||||
"cache_read_input_token_cost": 3e-08,
|
"cache_read_input_token_cost": 1e-08,
|
||||||
"input_cost_per_token": 6e-07,
|
"input_cost_per_token": 1.5e-07,
|
||||||
"litellm_provider": "runinfra",
|
"litellm_provider": "runinfra",
|
||||||
"max_input_tokens": 1048576,
|
"max_input_tokens": 1048576,
|
||||||
"max_output_tokens": 32768,
|
"max_output_tokens": 32768,
|
||||||
"max_tokens": 32768,
|
"max_tokens": 32768,
|
||||||
"mode": "chat",
|
"mode": "chat",
|
||||||
"output_cost_per_token": 1.9e-06,
|
"output_cost_per_token": 6e-07,
|
||||||
"source": "https://runinfra.ai/inference-api/deepseek-v4-pro",
|
"source": "https://runinfra.ai/inference-api/deepseek-v4-1-flash-1017",
|
||||||
"supported_endpoints": [
|
"supported_endpoints": [
|
||||||
"/v1/chat/completions"
|
"/v1/chat/completions"
|
||||||
],
|
],
|
||||||
|
|
@ -49985,7 +49965,8 @@
|
||||||
"supports_prompt_caching": true,
|
"supports_prompt_caching": true,
|
||||||
"supports_reasoning": true,
|
"supports_reasoning": true,
|
||||||
"supports_response_schema": true,
|
"supports_response_schema": true,
|
||||||
"supports_tool_choice": true
|
"supports_tool_choice": true,
|
||||||
|
"supports_vision": true
|
||||||
},
|
},
|
||||||
"runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16": {
|
"runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 1e-08,
|
||||||
|
|
@ -50028,15 +50009,35 @@
|
||||||
"supports_tool_choice": true,
|
"supports_tool_choice": true,
|
||||||
"supports_vision": true
|
"supports_vision": true
|
||||||
},
|
},
|
||||||
"runinfra/zai-org/GLM-5.3-Flash": {
|
"runinfra/zai-org/GLM-5.3": {
|
||||||
"cache_read_input_token_cost": 1e-08,
|
"cache_read_input_token_cost": 1.4e-07,
|
||||||
"input_cost_per_token": 1e-07,
|
"input_cost_per_token": 1.4e-06,
|
||||||
"litellm_provider": "runinfra",
|
"litellm_provider": "runinfra",
|
||||||
"max_input_tokens": 1048576,
|
"max_input_tokens": 1048576,
|
||||||
"max_output_tokens": 32768,
|
"max_output_tokens": 32768,
|
||||||
"max_tokens": 32768,
|
"max_tokens": 32768,
|
||||||
"mode": "chat",
|
"mode": "chat",
|
||||||
"output_cost_per_token": 4e-07,
|
"output_cost_per_token": 4.4e-06,
|
||||||
|
"source": "https://runinfra.ai/inference-api/glm-5-3",
|
||||||
|
"supported_endpoints": [
|
||||||
|
"/v1/chat/completions"
|
||||||
|
],
|
||||||
|
"supports_function_calling": true,
|
||||||
|
"supports_native_streaming": true,
|
||||||
|
"supports_prompt_caching": true,
|
||||||
|
"supports_reasoning": true,
|
||||||
|
"supports_response_schema": true,
|
||||||
|
"supports_tool_choice": true
|
||||||
|
},
|
||||||
|
"runinfra/zai-org/GLM-5.3-Flash": {
|
||||||
|
"cache_read_input_token_cost": 3e-08,
|
||||||
|
"input_cost_per_token": 1.1e-07,
|
||||||
|
"litellm_provider": "runinfra",
|
||||||
|
"max_input_tokens": 1048576,
|
||||||
|
"max_output_tokens": 32768,
|
||||||
|
"max_tokens": 32768,
|
||||||
|
"mode": "chat",
|
||||||
|
"output_cost_per_token": 4.5e-07,
|
||||||
"source": "https://runinfra.ai/inference-api/glm-5-3-flash",
|
"source": "https://runinfra.ai/inference-api/glm-5-3-flash",
|
||||||
"supported_endpoints": [
|
"supported_endpoints": [
|
||||||
"/v1/chat/completions"
|
"/v1/chat/completions"
|
||||||
|
|
|
||||||
|
|
@ -353,13 +353,13 @@ class TestRuninfra:
|
||||||
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
|
from litellm.litellm_core_utils.get_llm_provider_logic import get_llm_provider
|
||||||
|
|
||||||
model, provider, api_key, api_base = get_llm_provider(
|
model, provider, api_key, api_base = get_llm_provider(
|
||||||
model="runinfra/deepseek-ai/DeepSeek-V4-Flash-0731",
|
model="runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017",
|
||||||
custom_llm_provider=None,
|
custom_llm_provider=None,
|
||||||
api_base=None,
|
api_base=None,
|
||||||
api_key=None,
|
api_key=None,
|
||||||
)
|
)
|
||||||
|
|
||||||
assert model == "deepseek-ai/DeepSeek-V4-Flash-0731"
|
assert model == "deepseek-ai/DeepSeek-V4.1-Flash-1017"
|
||||||
assert provider == "runinfra"
|
assert provider == "runinfra"
|
||||||
assert api_key is None
|
assert api_key is None
|
||||||
assert api_base == "https://api.runinfra.ai/v1"
|
assert api_base == "https://api.runinfra.ai/v1"
|
||||||
|
|
@ -392,7 +392,7 @@ class TestRuninfra:
|
||||||
url = config.get_complete_url(
|
url = config.get_complete_url(
|
||||||
api_base="https://api.runinfra.ai/v1",
|
api_base="https://api.runinfra.ai/v1",
|
||||||
api_key="test-key",
|
api_key="test-key",
|
||||||
model="runinfra/deepseek-ai/DeepSeek-V4-Flash-0731",
|
model="runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017",
|
||||||
optional_params={},
|
optional_params={},
|
||||||
litellm_params={},
|
litellm_params={},
|
||||||
stream=True,
|
stream=True,
|
||||||
|
|
@ -405,7 +405,7 @@ class TestRuninfra:
|
||||||
from litellm.utils import ProviderConfigManager
|
from litellm.utils import ProviderConfigManager
|
||||||
|
|
||||||
config = ProviderConfigManager.get_provider_chat_config(
|
config = ProviderConfigManager.get_provider_chat_config(
|
||||||
model="deepseek-ai/DeepSeek-V4-Flash-0731", provider=LlmProviders.RUNINFRA
|
model="deepseek-ai/DeepSeek-V4.1-Flash-1017", provider=LlmProviders.RUNINFRA
|
||||||
)
|
)
|
||||||
|
|
||||||
assert config is not None
|
assert config is not None
|
||||||
|
|
@ -418,18 +418,23 @@ class TestRuninfra:
|
||||||
model_cost = json.load(f)
|
model_cost = json.load(f)
|
||||||
|
|
||||||
expected_models = {
|
expected_models = {
|
||||||
"runinfra/deepseek-ai/DeepSeek-V4-Flash-0731": (1.3e-07, 2.7e-07, 1e-08),
|
"runinfra/deepseek-ai/DeepSeek-V4.1-Flash": (1.4e-07, 5.8e-07, 3e-08),
|
||||||
"runinfra/deepseek-ai/DeepSeek-V4-Pro-0813": (6e-07, 1.9e-06, 3e-08),
|
"runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017": (1.5e-07, 6e-07, 1e-08),
|
||||||
"runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16": (
|
"runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16": (
|
||||||
5e-08,
|
5e-08,
|
||||||
1.5e-07,
|
1.5e-07,
|
||||||
1e-08,
|
1e-08,
|
||||||
),
|
),
|
||||||
"runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4": (2e-06, 6e-06, 2e-07),
|
|
||||||
"runinfra/Qwen/Qwen3.8-27B": (1e-07, 4e-07, 1e-08),
|
"runinfra/Qwen/Qwen3.8-27B": (1e-07, 4e-07, 1e-08),
|
||||||
"runinfra/ornith-ai/Ornith-1.5-35B-A3B": (1e-07, 4e-07, 1e-08),
|
"runinfra/ornith-ai/Ornith-1.5-35B-A3B": (1e-07, 4e-07, 1e-08),
|
||||||
"runinfra/zai-org/GLM-5.3-Flash": (1e-07, 4e-07, 1e-08),
|
"runinfra/zai-org/GLM-5.3-Flash": (1.1e-07, 4.5e-07, 3e-08),
|
||||||
|
"runinfra/zai-org/GLM-5.3": (1.4e-06, 4.4e-06, 1.4e-07),
|
||||||
}
|
}
|
||||||
|
# Every RunInfra entry is pinned here, so a retired model left in the
|
||||||
|
# cost map, or a new one added without its prices, reddens this test.
|
||||||
|
assert {
|
||||||
|
k for k, v in model_cost.items() if v.get("litellm_provider") == "runinfra"
|
||||||
|
} == set(expected_models)
|
||||||
for model, (input_cost, output_cost, cache_read_cost) in expected_models.items():
|
for model, (input_cost, output_cost, cache_read_cost) in expected_models.items():
|
||||||
assert model in model_cost
|
assert model in model_cost
|
||||||
assert model_cost[model]["litellm_provider"] == "runinfra"
|
assert model_cost[model]["litellm_provider"] == "runinfra"
|
||||||
|
|
@ -446,21 +451,25 @@ class TestRuninfra:
|
||||||
assert model_cost[model]["cache_read_input_token_cost"] == cache_read_cost
|
assert model_cost[model]["cache_read_input_token_cost"] == cache_read_cost
|
||||||
assert model_cost[model]["supports_prompt_caching"] is True
|
assert model_cost[model]["supports_prompt_caching"] is True
|
||||||
|
|
||||||
assert model_cost["runinfra/deepseek-ai/DeepSeek-V4-Flash-0731"]["max_input_tokens"] == 1048576
|
assert model_cost["runinfra/deepseek-ai/DeepSeek-V4.1-Flash"]["max_input_tokens"] == 1048576
|
||||||
assert model_cost["runinfra/deepseek-ai/DeepSeek-V4-Pro-0813"]["max_input_tokens"] == 1048576
|
assert model_cost["runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017"]["max_input_tokens"] == 1048576
|
||||||
|
assert model_cost["runinfra/zai-org/GLM-5.3"]["max_input_tokens"] == 1048576
|
||||||
assert model_cost["runinfra/Qwen/Qwen3.8-27B"]["max_input_tokens"] == 262144
|
assert model_cost["runinfra/Qwen/Qwen3.8-27B"]["max_input_tokens"] == 262144
|
||||||
assert model_cost["runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4"]["supports_response_schema"] is True
|
assert model_cost["runinfra/zai-org/GLM-5.3"]["supports_response_schema"] is True
|
||||||
assert model_cost["runinfra/Qwen/Qwen3.8-27B"]["supports_response_schema"] is True
|
assert model_cost["runinfra/Qwen/Qwen3.8-27B"]["supports_response_schema"] is True
|
||||||
assert model_cost["runinfra/ornith-ai/Ornith-1.5-35B-A3B"]["max_input_tokens"] == 262144
|
assert model_cost["runinfra/ornith-ai/Ornith-1.5-35B-A3B"]["max_input_tokens"] == 262144
|
||||||
# Image input is proven on exactly these two and declared on no other,
|
# Image input is declared on exactly the four models that RunInfra's
|
||||||
# so a copied flag on a text-only model reddens here.
|
# provider feed lists with an image input modality (Qwen3.8-27B,
|
||||||
|
# Ornith-1.5-35B-A3B, GLM-5.3-Flash and DeepSeek-V4.1-Flash-1017) and
|
||||||
|
# on no other, so a copied flag on a text-only model reddens here.
|
||||||
for model, expected_vision in (
|
for model, expected_vision in (
|
||||||
("runinfra/Qwen/Qwen3.8-27B", True),
|
("runinfra/Qwen/Qwen3.8-27B", True),
|
||||||
("runinfra/ornith-ai/Ornith-1.5-35B-A3B", True),
|
("runinfra/ornith-ai/Ornith-1.5-35B-A3B", True),
|
||||||
("runinfra/deepseek-ai/DeepSeek-V4-Flash-0731", False),
|
("runinfra/zai-org/GLM-5.3-Flash", True),
|
||||||
("runinfra/deepseek-ai/DeepSeek-V4-Pro-0813", False),
|
("runinfra/deepseek-ai/DeepSeek-V4.1-Flash-1017", True),
|
||||||
|
("runinfra/deepseek-ai/DeepSeek-V4.1-Flash", False),
|
||||||
("runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16", False),
|
("runinfra/nvidia/NVIDIA-Nemotron-3.5-Lightning-30B-A3B-BF16", False),
|
||||||
("runinfra/Inferact/Qwen3.8-2.4T-A95B-NVFP4", False),
|
("runinfra/zai-org/GLM-5.3", False),
|
||||||
):
|
):
|
||||||
assert model_cost[model].get("supports_vision", False) is expected_vision
|
assert model_cost[model].get("supports_vision", False) is expected_vision
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue