model_explorer4 / app.py
dwb2023's picture
Update app.py
32ccac4 verified
raw
history blame
3.12 kB
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)
# Create the Gradio Blocks interface
with gr.Blocks(theme="sudeepshouche/minimalist") as demo:
with gr.Row():
with gr.Column():
textbox = gr.Textbox(label="Model Name", placeholder="Enter the model name here OR select an 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")
gr.Markdown("""
Where to get started with Vision Language Models:
- [Hugging Face overview of VLMs](https://huggingface.co/blog/vlms#overview-of-open-source-vision-language-models)
- [Blog Post on PaliGemma Model Capabilities and Use Cases](https://huggingface.co/blog/paligemma#model-capabilities)
Keep an eye on the evolution of the [Model Explorer from Google](https://ai.google.dev/edge/model-explorer#two_ways_to_use_model_explorer). It didn't work initially for some of the VLM "fusion" model types I was initially looking at, but certainly a great tool for the right model.
""")
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()