import gradio as gr from fine_tuner import fine_tune_model from model_selector import get_model_list from utils import load_dataset def train_model(dataset_url, model_name, epochs, batch_size, learning_rate): dataset = load_dataset(dataset_url) metrics = fine_tune_model(dataset, model_name, epochs, batch_size, learning_rate) return metrics def main(): model_options = get_model_list() interface = gr.Interface( fn=train_model, inputs=[ gr.Textbox(label="Dataset URL"), gr.Dropdown(choices=model_options, label="Select Model"), gr.Slider(minimum=1, maximum=10, value=3, label="Epochs"), gr.Slider(minimum=1, maximum=64, value=16, label="Batch Size"), gr.Slider(minimum=1e-5, maximum=1e-1, step=1e-5, value=1e-4, label="Learning Rate") ], outputs=gr.JSON(), title="Transformers Fine Tuner", description="Fine-tune pre-trained transformer models on custom datasets." ) interface.launch() if __name__ == "__main__": main()