Spaces:
Runtime error
Runtime error
| import gradio as gr | |
| from transformers import AutoTokenizer, AutoModelForCausalLM, set_seed | |
| from transformers import pipeline | |
| title = "CodeParrot Generator 🦜" | |
| description = "This is a subspace to make code generation with [CodeParrot](https://huggingface.co/lvwerra/codeparrot), it is used in a larger [space](loubnabnl/Code-generation-models-v1) for model comparison." | |
| example = [ | |
| ["def print_hello_world():", "Sample", 8, 42], | |
| ["def get_file_size(filepath):", "Sample", 22, 42]] | |
| tokenizer = AutoTokenizer.from_pretrained("lvwerra/codeparrot") | |
| model = AutoModelForCausalLM.from_pretrained("lvwerra/codeparrot", low_cpu_mem_usage=True) | |
| def code_generation(gen_prompt, strategy, max_tokens, seed=42): | |
| set_seed(seed) | |
| gen_kwargs = {} | |
| gen_kwargs["do_sample"] = strategy == "Sample" | |
| gen_kwargs["max_new_tokens"] = max_tokens | |
| if gen_kwargs["do_sample"]: | |
| gen_kwargs["temperature"] = 0.2 | |
| gen_kwargs["top_k"] = 0 | |
| gen_kwargs["top_p"] = 0.95 | |
| pipe = pipeline("text-generation", model=model, tokenizer=tokenizer) | |
| generated_text = pipe(gen_prompt, **gen_kwargs)[0]['generated_text'] | |
| return generated_text | |
| iface = gr.Interface( | |
| fn=code_generation, | |
| inputs=[ | |
| gr.Textbox(lines=10, label="Input code"), | |
| gr.Dropdown(choices=["Greedy", "Sample"], value="Greedy"), | |
| gr.inputs.Slider( | |
| minimum=8, | |
| maximum=256, | |
| step=1, | |
| default=8, | |
| label="Number of tokens to generate", | |
| ), | |
| gr.inputs.Slider( | |
| minimum=0, | |
| maximum=1000, | |
| step=1, | |
| default=42, | |
| label="Random seed to use for the generation" | |
| ) | |
| ], | |
| outputs=gr.Textbox(label="Predicted code", lines=10), | |
| examples=example, | |
| layout="horizontal", | |
| theme="peach", | |
| description=description, | |
| title=title | |
| ) | |
| iface.launch() |