Spaces:
Paused
Paused
import os | |
import gradio as gr | |
from utils import get_model_summary, install_flash_attn, authenticate_hf | |
# Install required package | |
install_flash_attn() | |
# Authenticate with Hugging Face | |
HF_TOKEN = os.getenv("HF_TOKEN") | |
authenticate_hf(HF_TOKEN) | |
# Define a customized theme based on the Soft theme | |
theme = gr.themes.Soft( | |
primary_hue="blue", | |
secondary_hue="green", | |
neutral_hue="gray", | |
spacing_size="lg", | |
radius_size="sm", | |
text_size="lg" | |
).set( | |
button_primary_background_fill="*primary_500", | |
button_primary_background_fill_hover="*primary_700", | |
button_primary_border_radius="*radius_md" | |
) | |
# Create the Gradio Blocks interface | |
with gr.Blocks(theme=theme) as demo: | |
with gr.Row(): | |
with gr.Column(): | |
textbox = gr.Textbox(label="Model Name", placeholder="Enter the model name here OR select example below...", lines=1) | |
gr.Markdown("### Vision Models") | |
vision_examples = gr.Examples( | |
examples=[ | |
["google/paligemma-3b-mix-224"], | |
["google/paligemma-3b-ft-refcoco-seg-224"], | |
["llava-hf/llava-v1.6-mistral-7b-hf"], | |
["xtuner/llava-phi-3-mini-hf"], | |
["xtuner/llava-llama-3-8b-v1_1-transformers"], | |
["vikhyatk/moondream2"], | |
["openbmb/MiniCPM-Llama3-V-2_5"], | |
["microsoft/Phi-3-vision-128k-instruct"], | |
["HuggingFaceM4/idefics2-8b-chatty"], | |
["microsoft/llava-med-v1.5-mistral-7b"] | |
], | |
inputs=textbox | |
) | |
gr.Markdown("### Other Models") | |
other_examples = gr.Examples( | |
examples=[ | |
["dwb2023/mistral-7b-instruct-quantized"], | |
["mistralai/Mistral-7B-Instruct-v0.2"], | |
["mistralai/Mistral-7B-Instruct-v0.3"], | |
["google/gemma-7b"], | |
["microsoft/Phi-3-mini-4k-instruct"], | |
["meta-llama/Meta-Llama-3-8B"] | |
], | |
inputs=textbox | |
) | |
submit_button = gr.Button("Submit") | |
with gr.Column(): | |
output = gr.Textbox(label="Model Architecture", lines=20, placeholder="Model architecture will appear here...", show_copy_button=True) | |
error_output = gr.Textbox(label="Error", lines=10, placeholder="Exceptions will appear here...", show_copy_button=True) | |
def handle_click(model_name): | |
model_summary, error_message = get_model_summary(model_name) | |
return model_summary, error_message | |
submit_button.click(fn=handle_click, inputs=textbox, outputs=[output, error_output]) | |
# Launch the interface | |
demo.launch() | |