ai-kit / summarization /ui_summarize.py
Kim Adams
removing jupityr
8410a4b
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)
#gr.Markdown(constants.SUMMARY_MD_SUBHEAD)
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()