|
import gradio as gr |
|
import transformers |
|
|
|
import torch |
|
from transformers import pipeline, set_seed |
|
from transformers import GPT2Model, GPT2Config, GPT2LMHeadModel |
|
from transformers import BertTokenizerFast |
|
|
|
|
|
tokenizer_bert = BertTokenizerFast.from_pretrained('bert-base-chinese', |
|
additional_special_tokens=["<s>","<pad>","</s>","<unk>","<mask>"], |
|
pad_token='<pad>' ,max_len=512) |
|
|
|
configuration = GPT2Config(vocab_size=25000, n_layer=8) |
|
model = GPT2LMHeadModel(config=configuration) |
|
|
|
|
|
|
|
|
|
model.from_pretrained(("binxu/Ziyue-GPT2")) |
|
|
|
generator = pipeline('text-generation', model=model, tokenizer=tokenizer_bert) |
|
|
|
def generate(prompt): |
|
outputs = generator(prompt, max_length=50, num_return_sequences=5, num_beams=10, repetition_penalty=1.5) |
|
output_texts = [output['generated_text'] for output in outputs] |
|
output_all = "\n\n".join(output_texts) |
|
return output_all |
|
|
|
examples = ["子曰", "子墨子曰", "孟子", "秦王", "子路问仁"] |
|
|
|
iface = gr.Interface(fn=generate, |
|
inputs=gr.inputs.Textbox(lines=5, label="Input Text"), |
|
outputs=gr.outputs.Textbox(label="Generated Text"), |
|
examples=examples) |
|
iface.launch() |
|
|