Spaces:
Running
Running
File size: 1,366 Bytes
b931367 |
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 32 33 34 35 36 37 38 39 40 41 |
import gradio as gr
def create_model_selector(model_specs, default_model_constant):
"""
Creates a reusable Gradio model selector component.
Args:
model_specs (dict): A dictionary containing the specifications for each model.
default_model_constant (str): The key for the default model in the model_specs dictionary.
Returns:
tuple: A tuple containing the model dropdown and the model description markdown components.
"""
display_names = [d["display_name"] for d in model_specs.values()]
default_display_name = model_specs[default_model_constant]["display_name"]
model_dropdown = gr.Dropdown(
choices=display_names,
label="模型选择",
value=default_display_name,
interactive=True
)
def get_model_description(model_display_name):
for model_spec in model_specs.values():
if model_spec["display_name"] == model_display_name:
return model_spec["description"]
return ""
model_description_markdown = gr.Markdown(get_model_description(default_display_name),
container=True)
model_dropdown.change(
fn=get_model_description,
inputs=[model_dropdown],
outputs=[model_description_markdown]
)
return model_dropdown, model_description_markdown
|