mistraloo-sft / app.py
asusevski's picture
fixed peft in app.py
17ede41
raw
history blame contribute delete
No virus
1.5 kB
import gradio as gr
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch
from peft import PeftModel, PeftConfig
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
peft_model_id = "asusevski/mistraloo-sft"
peft_config = PeftConfig.from_pretrained(peft_model_id)
model = AutoModelForCausalLM.from_pretrained(peft_config.base_model_name_or_path)
model = PeftModel.from_pretrained(model, peft_model_id).to(device)
model.eval()
tokenizer = AutoTokenizer.from_pretrained(
peft_config.base_model_name_or_path,
add_bos_token=True
)
def uwaterloo_output(post_title, post_text):
prompt = f"""
Below is an instruction that describes a task, paired with an input that provides further context. Write a response that appropriately completes the request.
### Instruction:
Respond to the reddit post in the style of a University of Waterloo student.
### Input:
{post_title}
{post_text}
### Response:
"""
model_input = tokenizer(prompt, return_tensors="pt").to(device)
with torch.no_grad():
model_output = model.generate(**model_input, max_new_tokens=256, repetition_penalty=1.15)[0]
output = tokenizer.decode(model_output, skip_special_tokens=True)
return output.split('### Response:\n')[-1]
iface = gr.Interface(
fn=uwaterloo_output,
inputs=[
gr.Textbox("", label="Post Title"),
gr.Textbox("", label="Post Text"),
],
outputs=gr.Textbox("", label="Mistraloo-SFT")
)
iface.launch()