from summary_extractor import Extractor from Tags_Extractor import Tags from Clauses_Extractor import Clauses from key_value_extractor import KeyValue from incorrect_sentence_finder import IncorrectSentenceFinder from pdftojson import PdftoJson from headings_extractor import HeadingsExtractor from incompletesentencefinder import IncompleteSentenceFinder from aggressive_content_finder import AggressiveContentFinder from extract_date import ExtractDateAndDuration from pdftojson import PdftoJson from ContractGenerator import ContractGenerator from contract_missing_clausses import ContractMissingClauses import gradio as gr def file_output_fn(file_path): file_path = file_path.name return file_path #xiaobaiyuan/theme_land earneleh/paris with gr.Blocks(css="style.css",theme='ParityError/Interstellar') as demo: gr.HTML("""

Contract

""") with gr.Row(elem_id = "col-container",scale=0.80): with gr.Column(elem_id = "col-container",scale=0.80): file_output = gr.File(label="File Status",elem_classes="filenameshow") with gr.Column(elem_id = "col-container",scale=0.20): upload_button = gr.UploadButton( "Browse File",file_types=[".txt", ".pdf", ".doc", ".docx",".json",".csv"], elem_classes="uploadbutton") summary_btn = gr.Button("Get Summary",elem_classes="uploadbutton") with gr.Row(elem_id = "col-container",scale=0.60): summary = gr.Textbox(label = "Summary",lines=10) with gr.Row(elem_id = "col-container",scale=0.80): with gr.TabItem("Tags"): with gr.Column(elem_id = "col-container",scale=0.80): tags_btn = gr.Button("Tags Extracter") tags = gr.Textbox(label = "Tags", lines=10) with gr.TabItem("Key Values"): with gr.Column(elem_id = "col-container",scale=0.80): key_value_btn = gr.Button("Key Value Extractor") key_value = gr.Textbox(label = "Key Value",lines=10) with gr.TabItem("Clauses"): with gr.Column(elem_id = "col-container",scale=0.80): clauses_btn = gr.Button("Clauses Extractor") clauses = gr.Textbox(label = "Clauses", lines=10) with gr.TabItem("Headings"): with gr.Column(elem_id = "col-container",scale=0.80): heading_btn = gr.Button("Headings Extractor") heading = gr.Textbox(label = "Headings", lines=10) with gr.TabItem("Incorrect_Sentence"): with gr.Column(elem_id = "col-container",scale=0.80): incor_sen_btn = gr.Button("Incorrect Sentence Extractor") incorrect_sentence = gr.Textbox(label = "Incorrect Sentence", lines=10) with gr.TabItem("Incomplete Sentence"): with gr.Column(elem_id = "col-container",scale=0.80): incom_sen_btn = gr.Button("Incomplete Sentence Extractor") incomplete_sentence = gr.Textbox(label = "Incomplete Sentence", lines=10) with gr.TabItem("Aggressive Content"): with gr.Column(elem_id = "col-container",scale=0.80): aggres_sen_btn = gr.Button("Aggressive Content Extractor") aggressive_sentence = gr.Textbox(label = "Aggressive Content", lines=10) with gr.TabItem("Extract Date"): with gr.Column(elem_id = "col-container",scale=0.80): extract_date_btn = gr.Button("Extract date") extracted_date = gr.Textbox(label = "Extract date", lines=10) with gr.TabItem("Pdf to Json"): with gr.Column(elem_id = "col-container",scale=0.80): extract_json_btn = gr.Button("Extract Json from PDF") extracted_json = gr.Textbox(label = "Json", lines=10) with gr.TabItem("Contract Generator"): with gr.Column(elem_id = "col-container",scale=0.80): prompt = gr.Textbox(label="Prompt") generate_btn = gr.Button("Generate") contract_box = gr.Textbox(label = "Contract", lines=10) with gr.TabItem("Missing Features"): with gr.Column(elem_id = "col-container",scale=0.80): find_missing_features_btn = gr.Button("Find Missing Features") Output_box = gr.Textbox(label = "Output", lines=10) extractor = Extractor() upload_button.upload(file_output_fn,upload_button,file_output) summary_btn.click( extractor._refine_summary,[upload_button],summary) tags_btn.click(Tags.extract_tags,summary,tags) key_value_btn.click( KeyValue.extract_key_value_pair,summary,key_value) clauses_btn.click(Clauses.get_extracted_clauses,summary,clauses) ex= HeadingsExtractor() heading_btn.click(ex.extract_text,upload_button,heading) inf= IncorrectSentenceFinder() incor_sen_btn.click(inf.get_incorrect_sentence,upload_button,incorrect_sentence) inc= IncompleteSentenceFinder() incom_sen_btn.click(inc.get_incomplete_sentence,upload_button,incomplete_sentence) agg= AggressiveContentFinder() aggres_sen_btn.click(agg.get_aggressive_content,upload_button,aggressive_sentence) date = ExtractDateAndDuration() extract_date_btn.click(date.itrate_each_page,upload_button,extracted_date) pdftojson = PdftoJson() extract_json_btn.click(pdftojson.extract_text_from_pdf,upload_button,extracted_json) contract_gen = ContractGenerator() generate_btn.click(contract_gen.generate_contract,prompt,contract_box) cont_mis_clauses = ContractMissingClauses() find_missing_features_btn.click(cont_mis_clauses.iterate_each_page,upload_button,Output_box) demo.launch(debug=True)