1
1
import {
2
+ Adobe ,
3
+ Ai21 ,
2
4
Aws ,
5
+ Azure ,
3
6
Baichuan ,
7
+ ByteDance ,
4
8
ChatGLM ,
5
9
Claude ,
6
10
Cohere ,
11
+ Dbrx ,
12
+ FishAudio ,
7
13
Gemini ,
8
14
Gemma ,
9
15
Hunyuan ,
@@ -13,9 +19,12 @@ import {
13
19
Mistral ,
14
20
Moonshot ,
15
21
OpenAI ,
22
+ OpenChat ,
16
23
OpenRouter ,
17
24
Perplexity ,
25
+ Rwkv ,
18
26
Spark ,
27
+ Stability ,
19
28
Tongyi ,
20
29
Wenxin ,
21
30
Yi ,
@@ -33,33 +42,63 @@ const ModelIcon = memo<ModelProviderIconProps>(({ model: originModel, size = 12
33
42
// lower case the origin model so to better match more model id case
34
43
const model = originModel . toLowerCase ( ) ;
35
44
45
+ // currently supported models, maybe not in its own provider
36
46
if ( model . includes ( 'gpt-3' ) ) return < OpenAI . Avatar size = { size } type = { 'gpt3' } /> ;
37
47
if ( model . includes ( 'gpt-4' ) ) return < OpenAI . Avatar size = { size } type = { 'gpt4' } /> ;
38
- if ( model . startsWith ( 'glm' ) || model . includes ( 'chatglm' ) ) return < ChatGLM . Avatar size = { size } /> ;
48
+ if ( model . startsWith ( 'glm' ) ||
49
+ model . includes ( 'chatglm' ) )
50
+ return < ChatGLM . Avatar size = { size } /> ;
39
51
if ( model . includes ( 'claude' ) ) return < Claude . Avatar size = { size } /> ;
40
52
if ( model . includes ( 'titan' ) ) return < Aws . Avatar size = { size } /> ;
41
53
if ( model . includes ( 'llama' ) ) return < Meta . Avatar size = { size } /> ;
42
54
if ( model . includes ( 'llava' ) ) return < LLaVA . Avatar size = { size } /> ;
43
55
if ( model . includes ( 'gemini' ) ) return < Gemini . Avatar size = { size } /> ;
44
56
if ( model . includes ( 'gemma' ) ) return < Gemma . Avatar size = { size } /> ;
57
+ if ( model . includes ( 'moonshot' ) ) return < Moonshot . Avatar size = { size } /> ;
45
58
if ( model . includes ( 'qwen' ) ) return < Tongyi . Avatar background = { Tongyi . colorPrimary } size = { size } /> ;
46
59
if ( model . includes ( 'minmax' ) ) return < Minimax . Avatar size = { size } /> ;
47
- if ( model . includes ( 'moonshot' ) ) return < Moonshot . Avatar size = { size } /> ;
48
- if ( model . includes ( 'baichuan' ) )
49
- return < Baichuan . Avatar background = { Baichuan . colorPrimary } size = { size } /> ;
50
-
51
- if ( model . includes ( 'mistral' ) || model . includes ( 'mixtral' ) ) return < Mistral . Avatar size = { size } /> ;
52
-
53
- if ( model . includes ( 'pplx' ) || model . includes ( 'sonar' ) ) return < Perplexity . Avatar size = { size } /> ;
54
-
60
+ if ( model . includes ( 'mistral' ) ||
61
+ model . includes ( 'mixtral' ) )
62
+ return < Mistral . Avatar size = { size } /> ;
63
+ if ( model . includes ( 'pplx' ) ||
64
+ model . includes ( 'sonar' ) )
65
+ return < Perplexity . Avatar size = { size } /> ;
55
66
if ( model . includes ( 'yi-' ) ) return < Yi . Avatar size = { size } /> ;
56
- if ( model . includes ( 'openrouter' ) ) return < OpenRouter . Avatar size = { size } /> ;
57
- if ( model . includes ( 'command' ) ) return < Cohere . Color size = { size } /> ;
67
+ if ( model . startsWith ( 'openrouter' ) ) return < OpenRouter . Avatar size = { size } /> ; // only for Cinematika and Auto
68
+ if ( model . startsWith ( 'openchat' ) ) return < OpenChat . Avatar size = { size } /> ;
69
+ if ( model . includes ( 'command' ) ) return < Cohere . Avatar size = { size } /> ;
70
+ if ( model . includes ( 'dbrx' ) ) return < Dbrx . Avatar size = { size } /> ;
58
71
59
- if ( model . includes ( 'ernie' ) ) return < Wenxin . Avatar size = { size } /> ;
72
+ // below: To be supported in providers, move up if supported
73
+ if ( model . includes ( 'baichuan' ) )
74
+ return < Baichuan . Avatar background = { Baichuan . colorPrimary } size = { size } /> ;
75
+ if ( model . includes ( 'rwkv' ) ) return < Rwkv . Avatar size = { size } /> ;
76
+ if ( model . includes ( 'ernie' ) )
77
+ return < Wenxin . Avatar size = { size } /> ;
60
78
if ( model . includes ( 'spark' ) ) return < Spark . Avatar size = { size } /> ;
61
79
if ( model . includes ( 'hunyuan' ) ) return < Hunyuan . Avatar size = { size } /> ;
62
- if ( model . includes ( 'abab' ) ) return < Minimax . Avatar size = { size } /> ;
80
+ // ref https://github.com/fishaudio/Bert-VITS2/blob/master/train_ms.py#L702
81
+ if ( model . startsWith ( 'd_' ) ||
82
+ model . startsWith ( 'g_' ) || model . startsWith ( 'wd_' ) )
83
+ return < FishAudio . Avatar size = { size } /> ;
84
+ if ( model . includes ( 'skylark' ) ) return < ByteDance . Avatar size = { size } /> ;
85
+
86
+ if (
87
+ model . includes ( 'stable-diffusion' ) ||
88
+ model . includes ( 'stable-video' ) ||
89
+ model . includes ( 'stable-cascade' ) ||
90
+ model . includes ( 'sdxl' ) ||
91
+ model . includes ( 'stablelm' ) ||
92
+ model . startsWith ( 'stable-' ) ||
93
+ model . startsWith ( 'sd3' )
94
+ )
95
+ return < Stability . Avatar size = { size } /> ;
96
+
97
+ if ( model . includes ( 'wizardlm' ) ) return < Azure . Avatar size = { size } /> ;
98
+ if ( model . includes ( 'firefly' ) ) return < Adobe . Avatar size = { size } /> ;
99
+ if ( model . includes ( 'jamba' ) ||
100
+ model . includes ( 'j2-' ) )
101
+ return < Ai21 . Avatar size = { size } /> ;
63
102
} ) ;
64
103
65
104
export default ModelIcon ;
0 commit comments