-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Expand file tree
/
Copy pathmode_provider.go
More file actions
140 lines (133 loc) · 3.48 KB
/
mode_provider.go
File metadata and controls
140 lines (133 loc) · 3.48 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
/*
* Copyright 2025 coze-dev Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package modelmgr
import (
config "github.com/coze-dev/coze-studio/backend/api/model/admin/config"
"github.com/coze-dev/coze-studio/backend/api/model/app/developer_api"
)
func getModelProviderList() []*config.ModelProvider {
return []*config.ModelProvider{
{
Name: &config.I18nText{
ZhCn: "豆包模型",
EnUs: "Doubao Model",
},
IconURI: "default_icon/doubao_v2.png",
Description: &config.I18nText{
ZhCn: "豆包模型家族",
EnUs: "doubao model family",
},
ModelClass: developer_api.ModelClass_SEED,
},
{
Name: &config.I18nText{
ZhCn: "Claude 模型",
EnUs: "Claude Model",
},
IconURI: "default_icon/claude_v2.png",
Description: &config.I18nText{
ZhCn: "Claude 模型家族",
EnUs: "claude model family",
},
ModelClass: developer_api.ModelClass_Claude,
},
{
Name: &config.I18nText{
ZhCn: "Deepseek 模型",
EnUs: "Deepseek Model",
},
IconURI: "default_icon/deepseek_v2.png",
Description: &config.I18nText{
ZhCn: "Deepseek 模型家族",
EnUs: "deepseek model family",
},
ModelClass: developer_api.ModelClass_DeekSeek,
},
{
Name: &config.I18nText{
ZhCn: "Gemini 模型",
EnUs: "Gemini Model",
},
IconURI: "default_icon/gemini_v2.png",
Description: &config.I18nText{
ZhCn: "Gemini 模型家族",
EnUs: "gemini model family",
},
ModelClass: developer_api.ModelClass_Gemini,
},
{
Name: &config.I18nText{
ZhCn: "Ollama 模型",
EnUs: "Ollama Model",
},
IconURI: "default_icon/ollama.png",
Description: &config.I18nText{
ZhCn: "Ollama 模型家族",
EnUs: "ollama model family",
},
ModelClass: developer_api.ModelClass_Llama,
},
{
Name: &config.I18nText{
ZhCn: "OpenAI 模型",
EnUs: "OpenAI Model",
},
IconURI: "default_icon/openai_v2.png",
Description: &config.I18nText{
ZhCn: "OpenAI 模型家族",
EnUs: "openai model family",
},
ModelClass: developer_api.ModelClass_GPT,
},
{
Name: &config.I18nText{
ZhCn: "Qwen 模型",
EnUs: "Qwen Model",
},
IconURI: "default_icon/qwen_v2.png",
Description: &config.I18nText{
ZhCn: "Qwen 模型家族",
EnUs: "qwen model family",
},
ModelClass: developer_api.ModelClass_QWen,
},
{
Name: &config.I18nText{
ZhCn: "Avian 模型",
EnUs: "Avian Model",
},
IconURI: "default_icon/avian.png",
Description: &config.I18nText{
ZhCn: "Avian 模型家族",
EnUs: "avian model family",
},
ModelClass: developer_api.ModelClass_Avian,
},
}
}
func SupportProtocol(class developer_api.ModelClass) bool {
_, ok := GetModelProvider(class)
return ok
}
func GetModelProvider(class developer_api.ModelClass) (*config.ModelProvider, bool) {
modelProviders := getModelProviderList()
for _, modelProvider := range modelProviders {
if modelProvider.ModelClass == class {
return modelProvider, true
}
}
return nil, false
}