@@ -56,15 +56,52 @@ def get_source(model_path):
5656 }
5757 }
5858
59+ class Provider :
60+ id = ""
61+ _id = ""
62+ name = ""
63+ zhCN_name = ""
64+
65+ def __init__ (self , provider_str ):
66+ provider = json .loads (provider_str )
67+ name = provider ['enUS' ]
68+ provider_id = str .lower (name )
69+ self .id = provider_id
70+ self .name = name
71+ self .zhCN_name = provider ['zhCN' ]
72+
73+ def to_map (self ) -> dict :
74+ return {
75+ "id" : self .id ,
76+ "name" : {
77+ "enUS" : self .name ,
78+ "zhCN" : self .zhCN_name
79+ }
80+ }
81+
82+ def with_suggest (self , sources , orgs ):
83+ org = get_org_from_source (sources )
84+ suggest = orgs .get (org )
85+ if not suggest :
86+ return self
87+
88+ if "enUS" in suggest :
89+ self .name = suggest ["enUS" ]
90+ self .id = str .lower (self .name )
91+
92+ if "zhCN" in suggest :
93+ self .zhCN_name = suggest ["zhCN" ]
94+
95+ return self
5996
6097def create_yaml (model_data ):
6198 model_id = model_data ['model_id' ]
6299 model_name = model_data ['model_name' ]
63100 model_description = yaml .safe_load (model_data ['model_description' ])
64101 resource_requirements = parse_resource_requirements (model_data ['resources_requirements' ], model_data ['model_image' ], model_data ['custom_deploy_args' ])
65- provider_name = json . loads ( model_data [ 'provider' ])
66- provider_id = str . lower ( provider_name [ 'enUS ' ])
67- model_path = f'{ provider_id } /{ model_id } '
102+
103+ provider = Provider ( model_data [ 'provider ' ])
104+ model_path = f'{ provider . id } /{ model_id } '
68105 source = get_source (model_path )
69106
70107 yaml_content = {
@@ -84,19 +121,14 @@ def create_yaml(model_data):
84121 'src' : model_data ['model_avatar' ],
85122 'type' : 'image/svg'
86123 },
87- 'provider' : {
88- 'id' : provider_id ,
89- 'name' : provider_name ,
90- },
124+ 'provider' : provider .with_suggest (source , orgs ).to_map (),
91125 'tags' : json .loads (model_data ['model_support_feature' ])
92126 }
93127 }
94128 }
95129
96130 return yaml_content
97131
98-
99-
100132def use_suggests (platform , model_path ):
101133 _ , model_name = get_org_and_model_id (model_path )
102134 suggest = suggests .get (model_name )
@@ -143,6 +175,12 @@ def links(source):
143175 return []
144176
145177
178+ def get_org_from_source (source ):
179+ org , _ = get_org_and_model_id (source ['modelscope' ]['name' ])
180+ if org == "LLM-Research" : # LLM-Research is a common org name
181+ org , _ = get_org_and_model_id (source ['huggingface' ]['name' ])
182+ return org
183+
146184# {
147185# "Code": 200,
148186# "Data": {
@@ -164,9 +202,7 @@ def links(source):
164202# "Success": true
165203# }
166204def add_modelscope_about (source ):
167- org , _ = get_org_and_model_id (source ['modelscope' ]['name' ])
168- if org == "LLM-Research" : # LLM-Research is a common org name
169- org , _ = get_org_and_model_id (source ['huggingface' ]['name' ])
205+ org = get_org_from_source (source )
170206
171207 if org in orgs :
172208 return {
0 commit comments