diff --git a/internal/providers/configs/zai.json b/internal/providers/configs/zai.json new file mode 100644 index 0000000000000000000000000000000000000000..8058b622dfa2cb173cc68d1cec1ee5f18846c29e --- /dev/null +++ b/internal/providers/configs/zai.json @@ -0,0 +1,36 @@ +{ + "name": "Z.AI", + "id": "zai", + "api_key": "$ZAI_API_KEY", + "api_endpoint": "https://api.z.ai/api/paas/v4", + "type": "openai", + "default_large_model_id": "glm-4.5", + "default_small_model_id": "glm-4.5-air", + "models": [ + { + "id": "glm-4.5", + "name": "GLM-4.5", + "cost_per_1m_in": 0.6, + "cost_per_1m_out": 2.2, + "cost_per_1m_in_cached": 0.11, + "cost_per_1m_out_cached": 0, + "context_window": 131072, + "default_max_tokens": 98304, + "can_reason": true, + "has_reasoning_efforts": false, + "supports_attachments": false + }, + { + "id": "glm-4.5-air", + "name": "GLM-4.5-Air", + "cost_per_1m_in": 0.2, + "cost_per_1m_out": 1.1, + "cost_per_1m_in_cached": 0.03, + "context_window": 131072, + "default_max_tokens": 98304, + "can_reason": true, + "has_reasoning_efforts": false, + "supports_attachments": false + } + ] +} diff --git a/internal/providers/providers.go b/internal/providers/providers.go index 8c6754954dda6bd8478fbf1b7ba43da467bbccc5..2c29c8dedaf43f951e6c4a4595a2621830959bfa 100644 --- a/internal/providers/providers.go +++ b/internal/providers/providers.go @@ -30,6 +30,9 @@ var vertexAIConfig []byte //go:embed configs/xai.json var xAIConfig []byte +//go:embed configs/zai.json +var zAIConfig []byte + //go:embed configs/bedrock.json var bedrockConfig []byte @@ -53,6 +56,7 @@ var providerRegistry = []ProviderFunc{ bedrockProvider, vertexAIProvider, xAIProvider, + zAIProvider, groqProvider, openRouterProvider, lambdaProvider, @@ -105,6 +109,10 @@ func xAIProvider() catwalk.Provider { return loadProviderFromConfig(xAIConfig) } +func zAIProvider() catwalk.Provider { + return loadProviderFromConfig(zAIConfig) +} + func openRouterProvider() catwalk.Provider { return loadProviderFromConfig(openRouterConfig) } diff --git a/pkg/catwalk/provider.go b/pkg/catwalk/provider.go index e72dbdb9f8d7966b621fd4e4031bec4a63215c33..b9f8fbf3186ece695a12b2e70f8faafc5a27dc3f 100644 --- a/pkg/catwalk/provider.go +++ b/pkg/catwalk/provider.go @@ -25,6 +25,7 @@ const ( InferenceProviderBedrock InferenceProvider = "bedrock" InferenceProviderVertexAI InferenceProvider = "vertexai" InferenceProviderXAI InferenceProvider = "xai" + InferenceProviderZAI InferenceProvider = "zai" InferenceProviderGROQ InferenceProvider = "groq" InferenceProviderOpenRouter InferenceProvider = "openrouter" InferenceProviderLambda InferenceProvider = "lambda" @@ -70,6 +71,7 @@ func KnownProviders() []InferenceProvider { InferenceProviderBedrock, InferenceProviderVertexAI, InferenceProviderXAI, + InferenceProviderZAI, InferenceProviderGROQ, InferenceProviderOpenRouter, InferenceProviderLambda,