Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import AutoModelForCausalLM, pipeline | |
| # Define the list of model names | |
| models = ["gia-project/gia2-small-untrained", "gpt2"] # Add more model names as needed | |
| # Dictionary to store loaded models and their pipelines | |
| model_pipelines = {} | |
| # Load a default model initially | |
| default_model_name = "gia-project/gia2-small-untrained" | |
| default_model = AutoModelForCausalLM.from_pretrained(default_model_name, trust_remote_code=True) | |
| default_generator = pipeline("text-generation", model=default_model, tokenizer="gpt2", trust_remote_code=True) | |
| model_pipelines[default_model_name] = default_generator | |
| def generate_text(model_name, input_text): | |
| # Check if the selected model is already loaded | |
| if model_name not in model_pipelines: | |
| # Load the model and create a pipeline if it's not already loaded | |
| model = AutoModelForCausalLM.from_pretrained(model_name, trust_remote_code=True) | |
| generator = pipeline("text-generation", model=model, tokenizer="gpt2", trust_remote_code=True) | |
| model_pipelines[model_name] = generator | |
| # Get the pipeline for the selected model and generate text | |
| generator = model_pipelines[model_name] | |
| generated_text = generator(input_text)[0]['generated_text'] | |
| return generated_text | |
| # Define the Gradio interface | |
| iface = gr.Interface( | |
| fn=generate_text, # Function to be called on user input | |
| inputs=[ | |
| gr.inputs.Dropdown(choices=models, label="Select Model"), # Dropdown to select model | |
| gr.inputs.Textbox(lines=5, label="Input Text") # Textbox for entering text | |
| ], | |
| outputs=gr.outputs.Textbox(label="Generated Text"), # Textbox to display the generated text | |
| ) | |
| # Launch the Gradio interface | |
| iface.launch() | |