Spaces:
Build error
Build error
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() |