diff --git a/internal/providers/configs/modelscope.json b/internal/providers/configs/modelscope.json new file mode 100644 index 00000000..371964d4 --- /dev/null +++ b/internal/providers/configs/modelscope.json @@ -0,0 +1,19 @@ +{ + "name": "Modelscope", + "id": "modelscope", + "api_key": "$MODELSCOPE_API_KEY", + "api_endpoint": "https://api-inference.modelscope.cn/v1", + "type": "openai", + "default_large_model_id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "default_small_model_id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "models": [ + { + "id": "Qwen/Qwen3-Coder-480B-A35B-Instruct", + "name": "Qwen3-Coder", + "cost_per_1m_in": 0, + "cost_per_1m_out": 0, + "context_window": 131072, + "default_max_tokens": 65536 + } + ] +} diff --git a/internal/providers/providers.go b/internal/providers/providers.go index 76a1200f..2a9f7f4c 100644 --- a/internal/providers/providers.go +++ b/internal/providers/providers.go @@ -54,6 +54,9 @@ var chutesConfig []byte //go:embed configs/deepseek.json var deepSeekConfig []byte +//go:embed configs/modelscope.json +var modelscopeConfig []byte + // ProviderFunc is a function that returns a Provider. type ProviderFunc func() catwalk.Provider @@ -73,6 +76,7 @@ var providerRegistry = []ProviderFunc{ veniceProvider, chutesProvider, deepSeekProvider, + modelscopeAIProvider, } // GetAll returns all registered providers. @@ -152,3 +156,7 @@ func chutesProvider() catwalk.Provider { func deepSeekProvider() catwalk.Provider { return loadProviderFromConfig(deepSeekConfig) } + +func modelscopeProvider() catwalk.Provider { + return loadProviderFromConfig(modelscopeConfig) +} diff --git a/pkg/catwalk/provider.go b/pkg/catwalk/provider.go index 589d0ff6..ad7105e5 100644 --- a/pkg/catwalk/provider.go +++ b/pkg/catwalk/provider.go @@ -32,6 +32,7 @@ const ( InferenceProviderCerebras InferenceProvider = "cerebras" InferenceProviderVenice InferenceProvider = "venice" InferenceProviderChutes InferenceProvider = "chutes" + InferenceProviderModelscope InferenceProvider = "modelscope" ) // Provider represents an AI provider configuration. @@ -80,5 +81,6 @@ func KnownProviders() []InferenceProvider { InferenceProviderCerebras, InferenceProviderVenice, InferenceProviderChutes, + InferenceProviderModelscope, } }