| import gradio as gr | |
| from utils import * | |
| from transformers import pipeline | |
| css = """ | |
| """ | |
| ori_model = None | |
| edit_model = None | |
| with gr.Blocks(css=css,theme=gr.themes.Soft(text_size="sm")) as demo: | |
| gr.HTML("""<div style="text-align: center; margin: 0 auto;"><p><h1> Knowledge Editing</h1></div>""") | |
| with gr.Row(): | |
| gr.Markdown("<p align='center'><a href='https://github.com/zjunlp/EasyEdit'>🔧https://github.com/zjunlp/EasyEdit</a></p>") | |
| with gr.Row(): | |
| gr.Markdown("### Large Language Models (LLMs) often suffer from knowledge cutoff or fallacy issues, meaning they are unable to recognize unseen events or generate text with incorrect facts due to outdated/noisy data. To address this, many knowledge editing methods for LLMs aim to subtly inject/edit updated knowledge or adjust undesirable behaviors, while minimizing the impact on unrelated inputs.") | |
| with gr.Row(): | |
| prompt = gr.Textbox(label="Edit Prompt") | |
| target_new = gr.Textbox(label="Edit Target New") | |
| with gr.Row(): | |
| button4clear = gr.Button("Clear") | |
| button4edit = gr.Button("Edit",variant="primary") | |
| with gr.Row(): | |
| examples = gr.Examples( | |
| examples=[ | |
| ["Who is the architect for Toodyay Fire Station?","Wong Tung & Sons"], | |
| ["Who is Claire Clairmont\'s sister?","Clairmont-Mayer"], | |
| ["Which fictional universe is Chlorophyll Kid part of?","Image Universe"] | |
| ], | |
| examples_per_page=3, | |
| inputs=[prompt,target_new], | |
| ) | |
| with gr.Row(): | |
| input_text = gr.Textbox(label="Status Information",value="Model editing may take about a minute, please be patient.") | |
| with gr.Row(): | |
| input = gr.Textbox(label="Input Text",lines=3) | |
| with gr.Row(): | |
| with gr.Column(): | |
| button4gen_ori=gr.Textbox(label="origin output") | |
| with gr.Column(): | |
| button4gen_edit=gr.Textbox(label="edited output") | |
| with gr.Row(): | |
| button4gen = gr.Button("Generate",variant="primary") | |
| button4clear.click(lambda: ("", ""), outputs=[prompt,target_new]) | |
| button4edit.click(fn=edit, inputs=[prompt,target_new], outputs=input_text) | |
| button4gen.click(fn=generate, inputs=input, outputs=[button4gen_ori,button4gen_edit]) | |
| demo.launch() | |