import gradio as gr import torch from transformers import AutoTokenizer from transformers import T5Tokenizer, T5ForConditionalGeneration # tokenizer = T5Tokenizer.from_pretrained("ClueAI/PromptCLUE-base") # model = T5ForConditionalGeneration.from_pretrained("ClueAI/PromptCLUE-base") # tokenizer = T5Tokenizer.from_pretrained("ClueAI/PromptCLUE-base-v1-5") # model = T5ForConditionalGeneration.from_pretrained("ClueAI/PromptCLUE-base-v1-5") tokenizer = T5Tokenizer.from_pretrained("ClueAI/ChatYuan-large-v1") model = T5ForConditionalGeneration.from_pretrained("ClueAI/ChatYuan-large-v1") device = torch.device('cpu') model.to(device) def preprocess(text): text = text.replace("\n", "\\n").replace("\t", "\\t") return text def postprocess(text): return text.replace("\\n", "\n").replace("\\t", "\t") def answer(text, sample=True, top_p=1, temperature=0.7): '''sample:是否抽样。生成任务,可以设置为True; top_p:0-1之间,生成的内容越多样''' text = preprocess(text) encoding = tokenizer(text=[text], truncation=True, padding=True, max_length=768, return_tensors="pt").to(device) if not sample: out = model.generate(**encoding, return_dict_in_generate=True, output_scores=False, max_new_tokens=512, num_beams=1, length_penalty=0.6) else: out = model.generate(**encoding, return_dict_in_generate=True, output_scores=False, max_new_tokens=512, do_sample=True, top_p=top_p, temperature=temperature, no_repeat_ngram_size=3) out_text = tokenizer.batch_decode(out["sequences"], skip_special_tokens=True) return postprocess(out_text[0]) #iface = gr.Interface(fn=answer, inputs="text", outputs="text") examples = [ ["""摘要这段话: 现在乌军的迫击炮都可以开始轰击库皮扬斯克的俄军目标了,双方相距只有几公里。 最重要的是该地区俄军背后就是奥斯科尔河-北顿涅茨河。而为了确保第聂伯河上赫尔松城的后勤保障,俄军已经把舟桥部队主力调到赫尔松去了,现在是远水解不了近渴。 乌军很有可能暂时不会直接攻击伊久姆城区,现在还是要先拿下库皮扬斯克和奥斯科尔河上的两座桥梁。 切断俄军从别尔哥罗德向库皮扬斯克的物资输送,切断库皮扬斯克-伊久姆公路,断其粮道。 现在要看俄军有没有预备队。库皮扬斯克没援军的话大概率守不住。但是现在打了三天,俄军还没有援军抵达战场。 现在,俄军最主要任务是守住库皮扬斯克,同时要确保库皮扬斯克-伊久姆高速公路的安全。 """], ["""翻译这段话到英文: 在北京冬奥会自由式滑雪女子坡面障碍技巧决赛中,中国选手谷爱凌夺得银牌。祝贺谷爱凌!今天上午,自由式滑雪女子坡面障碍技巧决赛举行。决赛分三轮进行,取选手最佳成绩排名决出奖牌。第一跳,中国选手谷爱凌获得69.90分。在12位选手中排名第三。完成动作后,谷爱凌又扮了个鬼脸,甚是可爱。第二轮中,谷爱凌在道具区第三个障碍处失误,落地时摔倒。获得16.98分。网友:摔倒了也没关系,继续加油!在第二跳失误摔倒的情况下,谷爱凌顶住压力,第三跳稳稳发挥,流畅落地!获得86.23分!此轮比赛,共12位选手参赛,谷爱凌第10位出场。网友:看比赛时我比谷爱凌紧张,加油! """], ] iface = gr.Interface( fn=answer, inputs=gr.Textbox(lines=5, label="Input Text"), outputs=gr.Textbox(label="Generated Text"), examples=examples ) iface.launch()