diff --git a/internal/providers/configs/groq.json b/internal/providers/configs/groq.json new file mode 100644 index 0000000000000000000000000000000000000000..64b0b4f85d2a9ac700945b1ec243fe37147e04aa --- /dev/null +++ b/internal/providers/configs/groq.json @@ -0,0 +1,19 @@ +{ + "name": "Groq", + "id": "groq", + "api_key": "$GROQ_API_KEY", + "api_endpoint": "https://api.groq.com/openai/v1", + "type": "openai", + "default_large_model_id": "moonshotai/kimi-k2-instruct", + "default_small_model_id": "moonshotai/kimi-k2-instruct", + "models": [ + { + "id": "moonshotai/kimi-k2-instruct", + "model": "Kimi K2", + "cost_per_1m_in": 1, + "cost_per_1m_out": 3, + "context_window": 131072, + "default_max_tokens": 10000 + } + ] +} diff --git a/internal/providers/providers.go b/internal/providers/providers.go index 960fdbc3915df25e51dc300bec90c28d93595678..3ef785369991e724e0ab64689c81feb2e8b44f28 100644 --- a/internal/providers/providers.go +++ b/internal/providers/providers.go @@ -33,6 +33,9 @@ var xAIConfig []byte //go:embed configs/bedrock.json var bedrockConfig []byte +//go:embed configs/groq.json +var groqConfig []byte + // ProviderFunc is a function that returns a Provider. type ProviderFunc func() provider.Provider @@ -44,6 +47,7 @@ var providerRegistry = []ProviderFunc{ bedrockProvider, vertexAIProvider, xAIProvider, + groqProvider, openRouterProvider, } @@ -96,3 +100,7 @@ func xAIProvider() provider.Provider { func openRouterProvider() provider.Provider { return loadProviderFromConfig(openRouterConfig) } + +func groqProvider() provider.Provider { + return loadProviderFromConfig(groqConfig) +} diff --git a/pkg/provider/provider.go b/pkg/provider/provider.go index 4bde8e41ea47b00f9dca8fd1de0ee8ec57739d6f..2a579201d18b888d57f4b09e1a480e4e925a23e5 100644 --- a/pkg/provider/provider.go +++ b/pkg/provider/provider.go @@ -28,6 +28,7 @@ const ( InferenceProviderBedrock InferenceProvider = "bedrock" InferenceProviderVertexAI InferenceProvider = "vertexai" InferenceProviderXAI InferenceProvider = "xai" + InferenceProviderGROQ InferenceProvider = "groq" InferenceProviderOpenRouter InferenceProvider = "openrouter" ) @@ -69,6 +70,7 @@ func KnownProviders() []InferenceProvider { InferenceProviderBedrock, InferenceProviderVertexAI, InferenceProviderXAI, + InferenceProviderGROQ, InferenceProviderOpenRouter, } }