@@ -367,19 +367,24 @@ def use_array_model_card_metadata(metadata_key: str, model_card_key: str):
367367 for model_id in metadata_base_models :
368368 # NOTE: model size of base model is assumed to be similar to the size of the current model
369369 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
372386 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" )
383388 metadata .base_models .append (base_model )
384389
385390 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):
399404 for dataset_id in metadata_datasets :
400405 # NOTE: model size of base model is assumed to be similar to the size of the current model
401406 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
404423 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" )
415425 metadata .datasets .append (dataset )
416426
417427 use_model_card_metadata ("license" , "license" )
0 commit comments