Spaces:
Sleeping
Sleeping
| """ | |
| Gradio widget builders for the interpretability app. | |
| This module provides small UI factory functions: | |
| - create_model_selector: dropdown for selecting a model size/name. | |
| - create_feature_level_selector: radio control for feature granularity (word/sentence/paragraph). | |
| - create_attribution_method_toggle: radio control for attribution method (Shapley/Banzhaf). | |
| """ | |
| import gradio as gr | |
| from typing import List | |
| def create_model_selector() -> gr.Dropdown: | |
| """ | |
| Create a dropdown for model selection. | |
| Usage: | |
| models = list_models() # from loader/models.py (optional API) | |
| """ | |
| return gr.Dropdown( | |
| choices=[ | |
| ("Qwen3 4B Instruct", "small"), | |
| ("Mistral 7B Instruct v0.2", "medium"), | |
| ("Qwen3 30B Instruct", "large"), | |
| ], | |
| value="small", | |
| label="Model", | |
| interactive=True, | |
| elem_id="model-selector", | |
| elem_classes=["bubble-select"], | |
| ) | |
| def create_multimodal_model_selector() -> gr.Dropdown: | |
| """ | |
| Create a dropdown for multimodal (image-capable) model selection. | |
| Keys must match loader/models_mm_vllm.py. | |
| """ | |
| return gr.Dropdown( | |
| choices=["vl_small", "vl_large"], | |
| value="vl_small", | |
| label="Multimodal Model", | |
| interactive=True, | |
| elem_id="multimodal-model-selector", | |
| ) | |
| def create_feature_level_selector() -> gr.Radio: | |
| """Create the feature granularity selector.""" | |
| return gr.Radio( | |
| choices=["word", "sentence", "paragraph"], | |
| value="sentence", | |
| label="Feature Level", | |
| interactive=True, | |
| ) | |
| def create_attribution_method_toggle() -> gr.Radio: | |
| """Create the attribution method toggle.""" | |
| return gr.Radio( | |
| choices=["shapley", "banzhaf", "influence"], | |
| value="shapley", | |
| label="Attribution Method", | |
| interactive=True, | |
| ) | |