Spaces:
Runtime error
Runtime error
import gradio as gr | |
from gradio.components import Dropdown, Textbox | |
from huggingface_hub import HfApi, ModelFilter | |
from transformers import pipeline | |
# Get the list of models from the Hugging Face Hub | |
api = HfApi() | |
models = api.list_models(author="jat-project", filter=ModelFilter(tags="text-generation")) | |
models_names = [model.modelId for model in models] | |
# Dictionary to store loaded models and their pipelines | |
model_pipelines = {} | |
# Load a default model initially | |
default_model_name = "jat-project/jat-small" | |
def generate_text(model_name, input_text): | |
# Check if the selected model is already loaded | |
if model_name not in model_pipelines: | |
# Inform the user that the model is loading | |
yield "Loading model..." | |
# Load the model and create a pipeline if it's not already loaded | |
generator = pipeline("text-generation", model=model_name, trust_remote_code=True) | |
model_pipelines[model_name] = generator | |
# Get the pipeline for the selected model | |
generator = model_pipelines[model_name] | |
# Inform the user that the text is being generated | |
yield "Generating text..." | |
# Generate text | |
generated_text = generator(input_text, max_length=100)[0]["generated_text"] | |
# Return the generated text | |
yield generated_text | |
# Define the Gradio interface | |
iface = gr.Interface( | |
fn=generate_text, # Function to be called on user input | |
inputs=[ | |
Dropdown(models_names, label="Select Model", value=default_model_name), # Select model | |
Textbox(lines=5, label="Input Text"), # Textbox for entering text | |
], | |
outputs=Textbox(label="Generated Text"), # Textbox to display the generated text | |
title="JAT Text Generation", # Title of the interface | |
) | |
# Launch the Gradio interface | |
iface.launch(enable_queue=True) | |