Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| import json | |
| from huggingface_hub import HfApi, ModelFilter, list_models | |
| api = HfApi() | |
| def model_explorer(search,task,limit=100): | |
| # List all models | |
| if limit==0: | |
| limit=None | |
| if not search: | |
| search=None | |
| out_box=[] | |
| out_box1=[] | |
| name_box=[] | |
| if task: | |
| filt = ModelFilter(task=task) | |
| this = api.list_models(search=search,limit=limit,filter=filt,cardData=True) | |
| else: | |
| this = api.list_models(search=search,limit=limit,cardData=True) | |
| cnt=0 | |
| for i,mod in enumerate(this): | |
| print(mod.__dict__) | |
| print(dir(mod)) | |
| cnt+=1 | |
| #if mod.gated=='manual': | |
| out_box.append(mod) | |
| loaded=mod.__dict__ | |
| loaded['DOWNLOAD_LINK']=f'https://huggingface.co/models/{mod.id}' | |
| out_box1.append(loaded) | |
| name_box.append(mod.id) | |
| ''' | |
| print(dir(mod)) | |
| print(mod.id) | |
| print(mod.downloads) | |
| print(mod.likes) | |
| print(mod.pipeline_tag) | |
| out = mod.id | |
| ''' | |
| print(cnt) | |
| return out_box1,name_box | |
| def tasks_json(): | |
| with open("tasks.json", "r") as read_file: | |
| print("Read JSON file") | |
| tasks = json.load(read_file) | |
| print("Before Pretty Printing JSON Data") | |
| print(tasks) | |
| def fix_json(): | |
| new_json=[] | |
| with open("tasks.json", "r") as fix_file: | |
| for i, line in enumerate(fix_file.readlines()): | |
| #print (line) | |
| if "name:" in line: | |
| out = line.replace("name:",'"name":') | |
| new_json.append(out) | |
| print (out) | |
| elif "modality:" in line: | |
| out = line.replace("modality:",'"modality":') | |
| new_json.append(out) | |
| print (out) | |
| elif "type:" in line: | |
| out = line.replace("type:",'"type":') | |
| new_json.append(out) | |
| print (out) | |
| elif "subtasks:" in line: | |
| out = line.replace("subtasks:",'"subtasks":') | |
| new_json.append(out) | |
| print (out) | |
| elif "color:" in line: | |
| out = line.replace("color:",'"color":') | |
| new_json.append(out) | |
| print (out) | |
| elif "hideInModels:" in line: | |
| out = line.replace("hideInModels:",'"hideInModels":') | |
| new_json.append(out) | |
| print (out) | |
| elif "hideInDatasets:" in line: | |
| out = line.replace("hideInDatasets:",'"hideInDatasets":') | |
| new_json.append(out) | |
| print (out) | |
| else: | |
| new_json.append(line) | |
| print(line) | |
| #print (json.dumps(new_json)) | |
| #new_out=new_json.decode("utf-8") | |
| for i,line in enumerate(new_json): | |
| try: | |
| line.decode("utf-8") | |
| except Exception: | |
| pass | |
| if line.strip(): | |
| print (line) | |
| with gr.Blocks() as app: | |
| with gr.Row(): | |
| search=gr.Textbox(label="query") | |
| task=gr.Textbox(label="task") | |
| limit=gr.Slider(minimum=0,maximum=10000,value=100) | |
| btn=gr.Button() | |
| names_json=gr.JSON() | |
| models_json=gr.JSON() | |
| btn.click(model_explorer,[search,task,limit],[models_json,names_json]) | |
| app.launch() |