|
import gradio as gr |
|
|
|
from base_utils import ( |
|
convert_pdf_to_image, |
|
extract_text_from_pdf, |
|
convert_doc_to_text, |
|
extract_text_from_docx, |
|
extract_text_from_ppt, |
|
extract_text_from_pptx, |
|
sanitize_list_of_lists, |
|
parse_url, |
|
) |
|
|
|
from background_removal import remove_bg |
|
|
|
pdf_to_img = gr.Interface( |
|
convert_pdf_to_image, gr.File(), gr.Gallery(), api_name="pdf_to_img" |
|
) |
|
pdf_to_text = gr.Interface( |
|
extract_text_from_pdf, |
|
gr.File(), |
|
gr.Textbox(placeholder="Extracted text will appear here"), |
|
api_name="pdf_to_text", |
|
) |
|
|
|
doc_to_text = gr.Interface( |
|
convert_doc_to_text, gr.File(), gr.Textbox(), api_name="doc_to_text" |
|
) |
|
docx_to_text = gr.Interface( |
|
extract_text_from_docx, gr.File(), gr.Textbox(), api_name="docx_to_text" |
|
) |
|
|
|
ppt_to_text = gr.Interface( |
|
extract_text_from_ppt, |
|
gr.File(), |
|
gr.Textbox(), |
|
api_name="ppt_to_text", |
|
) |
|
|
|
pptx_to_text = gr.Interface( |
|
extract_text_from_pptx, |
|
gr.File(), |
|
gr.Textbox(), |
|
api_name="pptx_to_text", |
|
) |
|
str_to_json = gr.Interface( |
|
sanitize_list_of_lists, |
|
gr.Text(), |
|
gr.JSON(), |
|
api_name="str_to_json", |
|
examples=[ |
|
"""[ |
|
["What year was the Carthaginian Empire founded?", "Around 814 BCE"], |
|
["Where was the center of the Carthaginian Empire located?", "Carthage, near present-day Tunis, Tunisia"], |
|
["Which powerful ancient republic did Carthage have conflicts with?", "The Roman Republic"], |
|
["Fill in the blank: Hannibal famously crossed the ________ with war elephants.", "Alps"], |
|
["What were the series of conflicts between Carthage and Rome called?", "The Punic Wars"], |
|
["Multiple Choice: What was a significant military advantage of Carthage? A) Strong infantry, B) Powerful navy, C) Fortified cities", "B) Powerful navy"], |
|
["In what year was Carthage captured and destroyed by Rome?", "146 BCE"], |
|
["What did Carthage excel in that allowed it to amass wealth?", "Maritime trade"] |
|
]""" |
|
], |
|
) |
|
|
|
url_parser = gr.Interface( |
|
parse_url, |
|
inputs=["text"], |
|
outputs=["text"], |
|
api_name="url_to_text", |
|
) |
|
|
|
rmbg = gr.Interface( |
|
remove_bg, |
|
inputs=["image"], |
|
outputs=["image"], |
|
api_name="rmbg", |
|
) |
|
|
|
demo = gr.TabbedInterface( |
|
[ |
|
pdf_to_img, |
|
pdf_to_text, |
|
doc_to_text, |
|
docx_to_text, |
|
ppt_to_text, |
|
pptx_to_text, |
|
url_parser, |
|
str_to_json, |
|
rmbg, |
|
], |
|
[ |
|
"PDF to Image", |
|
"Extract PDF Text", |
|
"Extract DOC Text", |
|
"Extract DOCX Text", |
|
"Extract PPT Text", |
|
"Extract PPTX Text", |
|
"Extract text from URL", |
|
"Extract Json", |
|
"Remove Background", |
|
], |
|
) |
|
|
|
demo.launch(server_name="0.0.0.0.", server_port=7860, debug=True) |
|
|