✨ feat: support deepseek (#60)
This commit is contained in:
parent
332b6fd397
commit
48f9ed29e8
@ -191,6 +191,7 @@ const (
|
||||
ChannelTypeGemini = 25
|
||||
ChannelTypeBaichuan = 26
|
||||
ChannelTypeMiniMax = 27
|
||||
ChannelTypeDeepseek = 28
|
||||
)
|
||||
|
||||
var ChannelBaseURLs = []string{
|
||||
@ -222,6 +223,7 @@ var ChannelBaseURLs = []string{
|
||||
"", //25
|
||||
"https://api.baichuan-ai.com", //26
|
||||
"https://api.minimax.chat/v1", //27
|
||||
"https://api.deepseek.com", //28
|
||||
}
|
||||
|
||||
const (
|
||||
|
@ -108,6 +108,8 @@ func init() {
|
||||
"abab5.5-chat": {1.0714, ChannelTypeMiniMax}, // ¥0.015 / 1k tokens
|
||||
"abab6-chat": {14.2857, ChannelTypeMiniMax}, // ¥0.2 / 1k tokens
|
||||
"embo-01": {0.0357, ChannelTypeMiniMax}, // ¥0.0005 / 1k tokens
|
||||
"deepseek-coder": {0.75, ChannelTypeDeepseek}, // 暂定 $0.0015 / 1K tokens
|
||||
"deepseek-chat": {0.75, ChannelTypeDeepseek}, // 暂定 $0.0015 / 1K tokens
|
||||
}
|
||||
|
||||
ModelRatio = make(map[string]float64)
|
||||
|
36
providers/deepseek/base.go
Normal file
36
providers/deepseek/base.go
Normal file
@ -0,0 +1,36 @@
|
||||
package deepseek
|
||||
|
||||
import (
|
||||
"one-api/common/requester"
|
||||
"one-api/model"
|
||||
"one-api/providers/base"
|
||||
"one-api/providers/openai"
|
||||
)
|
||||
|
||||
type DeepseekProviderFactory struct{}
|
||||
|
||||
// 创建 DeepseekProvider
|
||||
func (f DeepseekProviderFactory) Create(channel *model.Channel) base.ProviderInterface {
|
||||
config := getDeepseekConfig()
|
||||
return &DeepseekProvider{
|
||||
OpenAIProvider: openai.OpenAIProvider{
|
||||
BaseProvider: base.BaseProvider{
|
||||
Config: config,
|
||||
Channel: channel,
|
||||
Requester: requester.NewHTTPRequester(*channel.Proxy, openai.RequestErrorHandle),
|
||||
},
|
||||
BalanceAction: false,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func getDeepseekConfig() base.ProviderConfig {
|
||||
return base.ProviderConfig{
|
||||
BaseURL: "https://api.deepseek.com",
|
||||
ChatCompletions: "/v1/chat/completions",
|
||||
}
|
||||
}
|
||||
|
||||
type DeepseekProvider struct {
|
||||
openai.OpenAIProvider
|
||||
}
|
@ -15,6 +15,7 @@ import (
|
||||
"one-api/providers/base"
|
||||
"one-api/providers/claude"
|
||||
"one-api/providers/closeai"
|
||||
"one-api/providers/deepseek"
|
||||
"one-api/providers/gemini"
|
||||
"one-api/providers/minimax"
|
||||
"one-api/providers/openai"
|
||||
@ -56,6 +57,7 @@ func init() {
|
||||
providerFactories[common.ChannelTypeGemini] = gemini.GeminiProviderFactory{}
|
||||
providerFactories[common.ChannelTypeBaichuan] = baichuan.BaichuanProviderFactory{}
|
||||
providerFactories[common.ChannelTypeMiniMax] = minimax.MiniMaxProviderFactory{}
|
||||
providerFactories[common.ChannelTypeDeepseek] = deepseek.DeepseekProviderFactory{}
|
||||
|
||||
}
|
||||
|
||||
|
@ -77,6 +77,12 @@ export const CHANNEL_OPTIONS = {
|
||||
value: 27,
|
||||
color: 'orange'
|
||||
},
|
||||
28: {
|
||||
key: 28,
|
||||
text: 'Deepseek',
|
||||
value: 28,
|
||||
color: 'default'
|
||||
},
|
||||
24: {
|
||||
key: 24,
|
||||
text: 'Azure Speech',
|
||||
|
@ -175,6 +175,12 @@ const typeConfig = {
|
||||
prompt: {
|
||||
key: '按照如下格式输入:APISecret|groupID'
|
||||
}
|
||||
},
|
||||
28: {
|
||||
input: {
|
||||
models: ['deepseek-coder', 'deepseek-chat'],
|
||||
test_model: 'deepseek-chat'
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user