Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| import transformers | |
| import torch | |
| def fmt_prompt(prompt: str) -> str: | |
| return f"""[Instructions]:\n{prompt}\n\n[Response]:""" | |
| model_name = "abacaj/starcoderbase-1b-sft" | |
| tokenizer = transformers.AutoTokenizer.from_pretrained(model_name) | |
| model = ( | |
| transformers.AutoModelForCausalLM.from_pretrained( | |
| model_name, | |
| ) | |
| .to("cuda:0") | |
| .eval() | |
| ) | |
| def chat_fn(prompt): | |
| #prompt = "Write a python function to sort the following array in ascending order, don't use any built in sorting methods: [9,2,8,1,5]" | |
| prompt_input = fmt_prompt(prompt) | |
| inputs = tokenizer(prompt_input, return_tensors="pt").to(model.device) | |
| input_ids_cutoff = inputs.input_ids.size(dim=1) | |
| with torch.no_grad(): | |
| generated_ids = model.generate( | |
| **inputs, | |
| use_cache=True, | |
| max_new_tokens=512, | |
| temperature=0.2, | |
| top_p=0.95, | |
| do_sample=True, | |
| eos_token_id=tokenizer.eos_token_id, | |
| pad_token_id=tokenizer.pad_token_id, | |
| ) | |
| completion = tokenizer.decode( | |
| generated_ids[0][input_ids_cutoff:], | |
| skip_special_tokens=True, | |
| ) | |
| print(completion) | |
| return completion | |
| with gr.Blocks() as app: | |
| inp = gr.Textbox() | |
| outp = gr.Textbox() | |
| btn = gr.Button() | |
| btn.click(chat_fn,inp,outp) | |
| app.launch() |