import gradio as gr from utils import get_summary, check_grammar, detect_plagiarism def summarize_paper(text): return get_summary(text) def generate_title(abstract): # You can plug in a title generation model here return "Generated Title Placeholder" def correct_grammar(text): return check_grammar(text) def check_similarity(text1, text2): return detect_plagiarism(text1, text2) with gr.Blocks(title="Research Assistant") as demo: gr.Markdown("# Research Paper Assistant") with gr.Tab("Summarize"): input1 = gr.Textbox(lines=10, label="Paste paper abstract or content") output1 = gr.Textbox(label="Summary") btn1 = gr.Button("Summarize") btn1.click(fn=summarize_paper, inputs=input1, outputs=output1) with gr.Tab("Title Generator"): input2 = gr.Textbox(lines=5, label="Abstract") output2 = gr.Textbox(label="Suggested Title") btn2 = gr.Button("Generate Title") btn2.click(fn=generate_title, inputs=input2, outputs=output2) with gr.Tab("Grammar Checker"): input3 = gr.Textbox(lines=8, label="Text to Check") output3 = gr.Textbox(label="Corrected Text") btn3 = gr.Button("Check Grammar") btn3.click(fn=correct_grammar, inputs=input3, outputs=output3) with gr.Tab("Plagiarism Checker"): input4a = gr.Textbox(lines=5, label="Original Text") input4b = gr.Textbox(lines=5, label="Submitted Text") output4 = gr.Textbox(label="Similarity Score") btn4 = gr.Button("Compare") btn4.click(fn=check_similarity, inputs=[input4a, input4b], outputs=output4) demo.launch()