import gradio as gr import torch from score_fincat import score_fincat from sus_fls import get_sustainability,fls from Cuad_others import quad,summarize_text,fin_ner device = torch.device("cuda" if torch.cuda.is_available() else "cpu") def load_questions(): questions = [] with open('questionshort.txt') as f: questions = f.readlines() return questions questions = load_questions() answer_main='' def mainFun(query,file): text='' with open(file.name) as f: text = f.read() answer_main,answer_p=quad(query,file) return text,answer_p,summarize_text(answer_main) def mainFun2(temp): return fin_ner(temp.split('Probability:')[0]) def mainFun3(temp): return score_fincat(temp.split('Probability:')[0]) def mainFun4(temp): return get_sustainability(temp.split('Probability:')[0]) def mainFun5(temp): return fls(temp.split('Probability:')[0]) demo = gr.Blocks() with demo: txt_file = gr.File(label='CONTRACT') text = gr.Textbox(lines=10) selected_ques=gr.Dropdown(choices=questions,label='SEARCH QUERY') b1 = gr.Button("Analyze File") answer = gr.Textbox(lines=2) summarize = gr.Textbox(lines=2) b1.click(mainFun, inputs=[selected_ques,txt_file], outputs=[text,answer,summarize]) b2=gr.Button("Get NER") label_ner = gr.HighlightedText() b2.click(mainFun2,inputs=answer,outputs=label_ner) b3=gr.Button("Get CLAIM") label_claim = gr.HighlightedText() b3.click(mainFun3,inputs=answer,outputs=label_claim) b4=gr.Button("Get SUSTAINABILITY") label_sus = gr.HighlightedText() b4.click(mainFun4,inputs=answer,outputs=label_sus) b5=gr.Button("Get FLS") label_fls = gr.HighlightedText() b5.click(mainFun5,inputs=answer,outputs=label_fls) demo.launch()