|
|
| import gradio as gr |
| import pandas as pd |
| import os |
|
|
| from traitlets import default |
| from utilities import constants |
| from summarization import summarization |
| from translators import translate_pdf_to_text |
|
|
| sample="" |
|
|
| def Summary(code, samples): |
| sum_messages,sum_text = summarization.SummarizeCompletion(code,sample) |
| df = pd.DataFrame(sum_messages) |
| return sum_text,df |
|
|
| def InitDF(): |
| global summaryDF |
| summaryDF=pd.DataFrame({"role": [""], "content": [""] }) |
|
|
| def UpdateWithSample(newSample): |
| global sample |
| sample=newSample |
| if newSample=="None": |
| sample = "" |
| print("Sample: ",sample) |
|
|
| def UpdateWithExample(newExample): |
| fileName=newExample.replace(" ","_").lower() |
| if os.path.exists(f"{constants.TXT_PREFIX}{fileName}.txt"): |
| with open(f"{constants.TXT_PREFIX}{fileName}.txt", 'r') as file: |
| return file.read() |
| else: |
| return translate_pdf_to_text.PreparePDF(f"{constants.PDF_PREFIX}{fileName}") |
|
|
| with gr.Blocks() as ui: |
| label = gr.Label(show_label=False, value=constants.SUMMARIZATION, container=False) |
| with gr.Row(): |
| with gr.Column(): |
| gr.Markdown(constants.PURPOSE_MD) |
| gr.Markdown(constants.SUMMARY_PURPOSE) |
| with gr.Column(): |
| gr.Markdown(constants.DIRECTIONS_MD) |
| gr.Markdown(value=constants.SUMMARY_DIRECTIONS) |
| |
| with gr.Row(): |
| with gr.Column(): |
| code=gr.Textbox(label=constants.ORIGINAL_DOC, interactive=True, placeholder=constants.SUMMARY_MD_DIRECTIONS, lines=3) |
| with gr.Column(): |
| summary=gr.Textbox(label=constants.SUMMARY, value="",lines=3) |
| gr.Markdown(constants.CODE_DOC_EXAMPLES_MD) |
| with gr.Row(): |
| examples = gr.Radio([constants.EX_1, constants.EX_2, constants.EX_3, constants.EX_4, constants.EX_7, constants.EX_8], |
| show_label=False, info=constants.SUMMARIZE_INFO) |
| gr.Markdown(constants.CODE_LANG_SAMPLES_MD) |
| with gr.Row(): |
| samples = gr.Radio([constants.SAMPLE_1, constants.SAMPLE_2, constants.SAMPLE_3, constants.SAMPLE_4, constants.SAMPLE_5,], |
| show_label=False, info=constants.TRANSLATION_INFO) |
| with gr.Row(): |
| summarize=gr.Button(value=constants.SUMMARIZE, variant="primary") |
| with gr.Row(): |
| summaryDF=gr.DataFrame(type="pandas", value=pd.DataFrame({"role": [""], "content": [""] }), |
| wrap=True, show_label=False, label=constants.OPENAI_LOG) |
| summarize.click(Summary, inputs=[code,samples], outputs=[summary,summaryDF]) |
| examples.input(UpdateWithExample,inputs=[examples], outputs=[code]) |
| samples.input(UpdateWithSample,inputs=[samples]) |
| InitDF() |
|
|