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)