File size: 1,492 Bytes
7329846
 
 
f0cefe4
0b14871
7329846
f0cefe4
7329846
 
 
f20045f
2586f07
0b14871
7329846
0b14871
7329846
f0cefe4
 
b75207e
 
7329846
f1f0756
2b53411
 
f1f0756
 
2b53411
 
 
7329846
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import gradio as gr
import requests

def quick_search_query(query, repo_type):
    if not query:  
        return []
    url = f"https://huggingface.co/api/quicksearch?q={query}&type={repo_type}&limit=20"
    response = requests.get(url)
    if response.status_code == 200:
        data = response.json()
        repo_names = [d['id'] for d in data[f"{repo_type}s"]]
        print(repo_names)
        return repo_names
    else:
        return ["Error fetching repo"]

def update_dropdown(query, repo_type, key_up_data: gr.KeyUpData):
    datasets = quick_search_query(key_up_data.input_value, repo_type)
    return gr.update(choices=datasets, visible=True)

with gr.Blocks() as demo:
    model_dropdown = gr.Dropdown(label="Models Auto-Complete", choices=[""], allow_custom_value=True)        
    model_dropdown.key_up(fn=update_dropdown, inputs=[model_dropdown, gr.State("model")], outputs=model_dropdown, queue=False, show_progress="hidden")
    
    dataset_dropdown = gr.Dropdown(label="Datasets Auto-Complete", choices=[""], allow_custom_value=True)
    dataset_dropdown.key_up(fn=update_dropdown, inputs=[dataset_dropdown, gr.State("dataset")], outputs=dataset_dropdown, queue=False, show_progress="hidden")
    
    spaces_dropdown = gr.Dropdown(label="Spaces Auto-Complete", choices=[""], allow_custom_value=True)
    spaces_dropdown.key_up(fn=update_dropdown, inputs=[spaces_dropdown, gr.State("space")], outputs=spaces_dropdown, queue=False, show_progress="hidden")
demo.launch()