|
import gradio as gr |
|
from peft import PeftModel, PeftConfig |
|
from transformers import AutoModelForCausalLM, AutoTokenizer |
|
|
|
config = PeftConfig.from_pretrained("clemsadand/quote_generator") |
|
base_model = AutoModelForCausalLM.from_pretrained("gpt2") |
|
model = PeftModel.from_pretrained(base_model, "clemsadand/quote_generator") |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("gpt2") |
|
|
|
def generate_quote(input_text): |
|
input_tensor = tokenizer(input_text, return_tensors="pt") |
|
output = model.generate(input_tensor["input_ids"], attention_mask=input_tensor["attention_mask"], |
|
max_length=64, num_beams=5, no_repeat_ngram_size=2, |
|
early_stopping=True, pad_token_id=tokenizer.eos_token_id, do_sample=True, temperature=0.7) |
|
output = tokenizer.decode(output[0], ski_special_tokens=True, clean_up_tokenization_spaces=True) |
|
return ".".join(output.split(".")[1:-1]).replace("\n", "").replace("->:", "") + "." |
|
|
|
input_text = "Generate a quote about kindness with the keywords compassion, empathy, help, generosity, care" |
|
|
|
|
|
input_textbox = gr.Textbox(label="Prompt", placeholder="Generate a quote about kindness with the keywords compassion, empathy, help, generosity, care", lines=2) |
|
output_textbox = gr.Textbox(label="Generated quote", placeholder="", lines=4) |
|
|
|
demo = gr.Interface(fn=generate_quote, inputs=input_textbox, outputs=output_textbox) |
|
|
|
demo.launch() |