mirror of
https://github.com/BerriAI/litellm.git
synced 2026-10-10 03:28:53 +00:00
feat(models): add pricing and metadata for 5 scx-ai models
This commit is contained in:
parent
8f61073af8
commit
7f48431e22
3 changed files with 172 additions and 0 deletions
|
|
@ -33546,6 +33546,72 @@
|
|||
"supports_vision": true,
|
||||
"source": "https://cloud.sambanova.ai/plans/pricing"
|
||||
},
|
||||
"scx-ai/gemma-4-31B-it": {
|
||||
"input_cost_per_token": 3e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 131000,
|
||||
"max_tokens": 131000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 9.1e-07,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"scx-ai/gpt-oss-120b": {
|
||||
"input_cost_per_token": 1.7e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 131000,
|
||||
"max_tokens": 131000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 5.5e-07,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true
|
||||
},
|
||||
"scx-ai/Llama-4-Maverick-17B-128E-Instruct": {
|
||||
"input_cost_per_token": 5.3e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 131000,
|
||||
"max_tokens": 131000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.62e-06,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"scx-ai/MiniMax-M2.7": {
|
||||
"cache_read_input_token_cost": 5e-08,
|
||||
"input_cost_per_token": 4.8e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 192000,
|
||||
"max_tokens": 192000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.79e-06,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true
|
||||
},
|
||||
"scx-ai/Qwen3-32B": {
|
||||
"input_cost_per_token": 3.6e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 33000,
|
||||
"max_tokens": 33000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.7e-07,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true
|
||||
},
|
||||
"snowflake/claude-3-5-sonnet": {
|
||||
"litellm_provider": "snowflake",
|
||||
"max_input_tokens": 200000,
|
||||
|
|
|
|||
|
|
@ -33637,6 +33637,72 @@
|
|||
"supports_vision": true,
|
||||
"source": "https://cloud.sambanova.ai/plans/pricing"
|
||||
},
|
||||
"scx-ai/gemma-4-31B-it": {
|
||||
"input_cost_per_token": 3e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 131000,
|
||||
"max_tokens": 131000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 9.1e-07,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"scx-ai/gpt-oss-120b": {
|
||||
"input_cost_per_token": 1.7e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 131000,
|
||||
"max_tokens": 131000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 5.5e-07,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true
|
||||
},
|
||||
"scx-ai/Llama-4-Maverick-17B-128E-Instruct": {
|
||||
"input_cost_per_token": 5.3e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 131000,
|
||||
"max_tokens": 131000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.62e-06,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true,
|
||||
"supports_vision": true
|
||||
},
|
||||
"scx-ai/MiniMax-M2.7": {
|
||||
"cache_read_input_token_cost": 5e-08,
|
||||
"input_cost_per_token": 4.8e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 192000,
|
||||
"max_tokens": 192000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 1.79e-06,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true
|
||||
},
|
||||
"scx-ai/Qwen3-32B": {
|
||||
"input_cost_per_token": 3.6e-07,
|
||||
"litellm_provider": "scx-ai",
|
||||
"max_input_tokens": 33000,
|
||||
"max_tokens": 33000,
|
||||
"mode": "chat",
|
||||
"output_cost_per_token": 8.7e-07,
|
||||
"source": "https://scx.ai/pricing",
|
||||
"supports_function_calling": true,
|
||||
"supports_reasoning": true,
|
||||
"supports_response_schema": true,
|
||||
"supports_tool_choice": true
|
||||
},
|
||||
"snowflake/claude-3-5-sonnet": {
|
||||
"litellm_provider": "snowflake",
|
||||
"max_input_tokens": 200000,
|
||||
|
|
|
|||
|
|
@ -128,3 +128,43 @@ class TestSCXAIProviderConfig:
|
|||
|
||||
assert len(router.model_list) == 1
|
||||
assert router.model_list[0]["model_name"] == "scx-chat"
|
||||
|
||||
|
||||
class TestSCXAIModelMetadata:
|
||||
SCX_MODELS = (
|
||||
"scx-ai/Llama-4-Maverick-17B-128E-Instruct",
|
||||
"scx-ai/gemma-4-31B-it",
|
||||
"scx-ai/Qwen3-32B",
|
||||
"scx-ai/MiniMax-M2.7",
|
||||
"scx-ai/gpt-oss-120b",
|
||||
)
|
||||
VISION_MODELS = ("scx-ai/Llama-4-Maverick-17B-128E-Instruct", "scx-ai/gemma-4-31B-it")
|
||||
|
||||
@staticmethod
|
||||
def _load(path_parts):
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
json_path = Path(__file__).parents[4].joinpath(*path_parts)
|
||||
with open(json_path) as f:
|
||||
return json.load(f)
|
||||
|
||||
def test_scx_ai_models_registered_with_correct_metadata(self):
|
||||
model_cost = self._load(("model_prices_and_context_window.json",))
|
||||
for model in self.SCX_MODELS:
|
||||
info = model_cost.get(model)
|
||||
assert info is not None, f"{model} missing from model_prices_and_context_window.json"
|
||||
assert info["litellm_provider"] == "scx-ai"
|
||||
assert info["mode"] == "chat"
|
||||
assert info["input_cost_per_token"] > 0
|
||||
assert info["output_cost_per_token"] > 0
|
||||
assert info["supports_function_calling"] is True
|
||||
assert info["supports_tool_choice"] is True
|
||||
assert info.get("supports_vision", False) is (model in self.VISION_MODELS)
|
||||
|
||||
def test_scx_ai_models_synced_to_backup(self):
|
||||
model_cost = self._load(("model_prices_and_context_window.json",))
|
||||
backup = self._load(("litellm", "model_prices_and_context_window_backup.json"))
|
||||
for model in self.SCX_MODELS:
|
||||
assert model in backup, f"{model} missing from backup json"
|
||||
assert backup[model] == model_cost[model], f"{model} differs between root and backup json"
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue