Change summary
internal/providers/configs/groq.json | 19 +++++++++++++++++++
internal/providers/providers.go | 8 ++++++++
pkg/provider/provider.go | 2 ++
3 files changed, 29 insertions(+)
Detailed changes
@@ -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
+ }
+ ]
+}
@@ -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)
+}
@@ -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,
}
}