import traceback import gradio as gr from apps.components import chat_accordion IDEA_TITLE = "论文速览" prompt_tmpl = """下面是一篇论文的标题和摘要,请从以下几个方面进行总结: 1. 介绍本文的主要工作 2. 本文工作的主要亮点 3. 核心关键词(最多5个技术,能够代表本文核心技术,格式:`英文` (`中文`) ) 4. 从实用性、创新性和推荐度进行打分(各项满分5分)。 === 标题:{title} === 摘要:{abstract} === 注意:生成内容要简练,语言的组织要通顺、容易阅读和理解,并能够快速获取信息。 """ def paper_preview_demo(client): def preview(title, abstract, temperature, top_p): if not title or not abstract: return None content = prompt_tmpl.format(title=title, abstract=abstract) try: stream = client.simple_chat( content, [], temperature=temperature, top_p=top_p, ) for resp, _ in stream: yield resp except Exception: yield traceback.format_exc() def clear_data(): return None, None with gr.Row(): with gr.Column(): title = gr.Textbox(label="论文标题") abstract = gr.Textbox(label="摘要", lines=5) with gr.Row(): with gr.Column(): submit = gr.Button("速览", variant="primary") with gr.Column(): clear = gr.Button("清空") temperature, top_p = chat_accordion() with gr.Column(): outputs = gr.Textbox(label="速览内容", lines=5) gr.Examples( [ [ "GLM: General Language Model Pretraining with Autoregressive Blank Infilling", "There have been various types of pretraining architectures including autoencoding models " "(e.g., BERT), autoregressive models (e.g., GPT), and encoder-decoder models (e.g., T5). " "However, none of the pretraining frameworks performs the best for all tasks of three main " "categories including natural language understanding (NLU), unconditional generation, and " "conditional generation. We propose a General Language Model (GLM) based on autoregressive " "blank infilling to address this challenge. GLM improves blank filling pretraining by adding 2D" " positional encodings and allowing an arbitrary order to predict spans, which results in " "performance gains over BERT and T5 on NLU tasks. Meanwhile, GLM can be pretrained for " "different types of tasks by varying the number and lengths of blanks. On a wide range of tasks" " across NLU, conditional and unconditional generation, GLM outperforms BERT, T5, and GPT given" " the same model sizes and data, and achieves the best performance from a single pretrained " "model with 1.25x parameters of BERT Large , demonstrating its generalizability to different" " downstream tasks.", ] ], [title, abstract], label="样例", ) submit.click( preview, inputs=[title, abstract, temperature, top_p], outputs=outputs ) clear.click(clear_data, inputs=None, outputs=[title, abstract])