| import gradio as gr | |
| from transformers import AutoModelForCausalLM, AutoTokenizer | |
| MODEL_NAME = "oskaralf/model_merged" | |
| model = AutoModelForCausalLM.from_pretrained(MODEL_NAME, torch_dtype="auto", device_map="auto") | |
| tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) | |
| def generate_response(prompt, max_length=128, temperature=0.7, top_p=0.9): | |
| inputs = tokenizer(prompt, return_tensors="pt").to(model.device) | |
| outputs = model.generate( | |
| **inputs, | |
| max_length=max_length, | |
| temperature=temperature, | |
| top_p=top_p, | |
| pad_token_id=tokenizer.eos_token_id | |
| ) | |
| response = tokenizer.decode(outputs[0], skip_special_tokens=True) | |
| return response | |
| def interactive_app(): | |
| with gr.Blocks() as app: | |
| gr.Markdown("# Coding Task Generator") | |
| gr.Markdown("Generate coding tasks by entering a prompt below.") | |
| prompt = gr.Textbox(label="Enter your prompt:", placeholder="e.g., Create a Python task involving recursion.") | |
| max_length = gr.Slider(label="Max Length", minimum=16, maximum=512, value=128, step=16) | |
| temperature = gr.Slider(label="Temperature", minimum=0.1, maximum=1.0, value=0.7, step=0.1) | |
| top_p = gr.Slider(label="Top-p Sampling", minimum=0.1, maximum=1.0, value=0.9, step=0.1) | |
| generate_button = gr.Button("Generate Task") | |
| output = gr.Textbox(label="Generated Task", lines=10) | |
| generate_button.click( | |
| generate_response, | |
| inputs=[prompt, max_length, temperature, top_p], | |
| outputs=output | |
| ) | |
| return app | |
| if __name__ == "__main__": | |
| interactive_app().launch() | |