@@ -367,19 +367,24 @@ def use_array_model_card_metadata(metadata_key: str, model_card_key: str):
367
367
for model_id in metadata_base_models :
368
368
# NOTE: model size of base model is assumed to be similar to the size of the current model
369
369
base_model = {}
370
- if isinstance (model_id , str ) and (model_id .startswith ("http://" ) or model_id .startswith ("https://" )):
371
- base_model ["repo_url" ] = model_id
370
+ if isinstance (model_id , str ):
371
+ if model_id .startswith ("http://" ) or model_id .startswith ("https://" ) or model_id .startswith ("ssh://" ):
372
+ base_model ["repo_url" ] = model_id
373
+ else :
374
+ # Likely a Hugging Face ID
375
+ model_full_name_component , org_component , basename , finetune , version , size_label = Metadata .get_model_id_components (model_id , total_params )
376
+ if model_full_name_component is not None :
377
+ base_model ["name" ] = Metadata .id_to_title (model_full_name_component )
378
+ if org_component is not None :
379
+ base_model ["organization" ] = Metadata .id_to_title (org_component )
380
+ if version is not None :
381
+ base_model ["version" ] = version
382
+ if org_component is not None and model_full_name_component is not None :
383
+ base_model ["repo_url" ] = f"https://huggingface.co/{ org_component } /{ model_full_name_component } "
384
+ elif isinstance (model_id , dict ):
385
+ base_model = model_id
372
386
else :
373
- # Likely a Hugging Face ID
374
- model_full_name_component , org_component , basename , finetune , version , size_label = Metadata .get_model_id_components (model_id , total_params )
375
- if model_full_name_component is not None :
376
- base_model ["name" ] = Metadata .id_to_title (model_full_name_component )
377
- if org_component is not None :
378
- base_model ["organization" ] = Metadata .id_to_title (org_component )
379
- if version is not None :
380
- base_model ["version" ] = version
381
- if org_component is not None and model_full_name_component is not None :
382
- base_model ["repo_url" ] = f"https://huggingface.co/{ org_component } /{ model_full_name_component } "
387
+ logger .error (f"base model entry '{ str (model_id )} ' not in a known format" )
383
388
metadata .base_models .append (base_model )
384
389
385
390
if "datasets" in model_card or "dataset" in model_card :
@@ -399,19 +404,24 @@ def use_array_model_card_metadata(metadata_key: str, model_card_key: str):
399
404
for dataset_id in metadata_datasets :
400
405
# NOTE: model size of base model is assumed to be similar to the size of the current model
401
406
dataset = {}
402
- if isinstance (dataset_id , str ) and (dataset_id .startswith ("http://" ) or dataset_id .startswith ("https://" )):
403
- dataset ["repo_url" ] = dataset_id
407
+ if isinstance (dataset_id , str ):
408
+ if dataset_id .startswith ("http://" ) or dataset_id .startswith ("https://" ) or dataset_id .startswith ("ssh://" ):
409
+ dataset ["repo_url" ] = dataset_id
410
+ else :
411
+ # Likely a Hugging Face ID
412
+ dataset_name_component , org_component , basename , finetune , version , size_label = Metadata .get_model_id_components (dataset_id , total_params )
413
+ if dataset_name_component is not None :
414
+ dataset ["name" ] = Metadata .id_to_title (dataset_name_component )
415
+ if org_component is not None :
416
+ dataset ["organization" ] = Metadata .id_to_title (org_component )
417
+ if version is not None :
418
+ dataset ["version" ] = version
419
+ if org_component is not None and dataset_name_component is not None :
420
+ dataset ["repo_url" ] = f"https://huggingface.co/{ org_component } /{ dataset_name_component } "
421
+ elif isinstance (dataset_id , dict ):
422
+ dataset = dataset_id
404
423
else :
405
- # Likely a Hugging Face ID
406
- dataset_name_component , org_component , basename , finetune , version , size_label = Metadata .get_model_id_components (dataset_id , total_params )
407
- if dataset_name_component is not None :
408
- dataset ["name" ] = Metadata .id_to_title (dataset_name_component )
409
- if org_component is not None :
410
- dataset ["organization" ] = Metadata .id_to_title (org_component )
411
- if version is not None :
412
- dataset ["version" ] = version
413
- if org_component is not None and dataset_name_component is not None :
414
- dataset ["repo_url" ] = f"https://huggingface.co/{ org_component } /{ dataset_name_component } "
424
+ logger .error (f"dataset entry '{ str (dataset_id )} ' not in a known format" )
415
425
metadata .datasets .append (dataset )
416
426
417
427
use_model_card_metadata ("license" , "license" )
0 commit comments