Skip to content

Commit 2e0e1fa

Browse files
authored
Add DeepSeek to the list of providers (#49)
1 parent 18d5802 commit 2e0e1fa

File tree

2 files changed

+44
-0
lines changed

2 files changed

+44
-0
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
{
2+
"name": "DeepSeek",
3+
"id": "deepseek",
4+
"type": "openai",
5+
"api_key": "$DEEPSEEK_API_KEY",
6+
"api_endpoint": "https://api.deepseek.com/v1",
7+
"default_large_model_id": "deepseek-reasoner",
8+
"default_small_model_id": "deepseek-chat",
9+
"models": [
10+
{
11+
"id": "deepseek-chat",
12+
"name": "DeepSeek-V3.1 (Non-thinking Mode)",
13+
"cost_per_1m_in": 0.56,
14+
"cost_per_1m_out": 1.68,
15+
"cost_per_1m_in_cached": 0.07,
16+
"cost_per_1m_out_cached": 1.68,
17+
"context_window": 128000,
18+
"default_max_tokens": 4000,
19+
"can_reason": false,
20+
"supports_attachments": false
21+
},
22+
{
23+
"id": "deepseek-reasoner",
24+
"name": "DeepSeek-V3.1 (Thinking Mode)",
25+
"cost_per_1m_in": 0.56,
26+
"cost_per_1m_out": 1.68,
27+
"cost_per_1m_in_cached": 0.07,
28+
"cost_per_1m_out_cached": 1.68,
29+
"context_window": 128000,
30+
"default_max_tokens": 32000,
31+
"can_reason": true,
32+
"supports_attachments": false
33+
}
34+
]
35+
}
36+

internal/providers/providers.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@ var cerebrasConfig []byte
4848
//go:embed configs/venice.json
4949
var veniceConfig []byte
5050

51+
//go:embed configs/deepseek.json
52+
var deepSeekConfig []byte
53+
5154
// ProviderFunc is a function that returns a Provider.
5255
type ProviderFunc func() catwalk.Provider
5356

@@ -65,6 +68,7 @@ var providerRegistry = []ProviderFunc{
6568
lambdaProvider,
6669
cerebrasProvider,
6770
veniceProvider,
71+
deepSeekProvider,
6872
}
6973

7074
// GetAll returns all registered providers.
@@ -136,3 +140,7 @@ func cerebrasProvider() catwalk.Provider {
136140
func veniceProvider() catwalk.Provider {
137141
return loadProviderFromConfig(veniceConfig)
138142
}
143+
144+
func deepSeekProvider() catwalk.Provider {
145+
return loadProviderFromConfig(deepSeekConfig)
146+
}

0 commit comments

Comments
 (0)