mgokg's picture
Update app.py
f5a3d2e verified
import gradio as gr
from PyPDF2 import PdfReader
import os
from docx import Document as DocxDocument
from gradio_client import Client
from IPython.display import display
from IPython.display import Markdown
custom_css = """
#md {
height: 450px;
font-size: 35px;
background: black;
padding: 20px;
padding-top: 40px;
color: white;
border: 1 px solid #383838;
}
"""
def routing(message):
client = Client("mgokg/SemanticRouting")
result = client.predict(
prompt=f"{message}",
api_name="/predict"
)
return result
def mitteilung(input):
client = Client("mgokg/Gemini2.0")
result = client.predict(
input_text=f"{input}",
api_name="/generate_press_release"
)
return result
def process_pdf(file):
# Read the PDF content
pdf_reader = PdfReader(file.name)
text = ""
for page in pdf_reader.pages:
text += page.extract_text()
return text
def process_file(file):
file_extension = file.name.split(".")[-1].lower()
if file_extension == 'pdf':
ocr_text = process_pdf(file)
result = mitteilung(ocr_text)
#display(Markdown(result))
return result
return ocr_text
elif file_extension == 'docx':
docx_document = DocxDocument(file.name)
text = ""
for paragraph in docx_document.paragraphs:
text += paragraph.text + "\n"
result = mitteilung(text)
#display(Markdown(result))
return result
return text
#return [Document(text=text)]
with gr.Blocks(css=custom_css) as demo:
gr.Markdown("### File upload", elem_classes="tab-header")
with gr.Row():
textoutput = gr.Markdown(label="Antwort", elem_id="md", value="#")
with gr.Row():
text_output = gr.Textbox(label="")
with gr.Row():
file_input = gr.File(label="Wähle eine PDF-Datei aus", type="filepath")
with gr.Row():
submit_button = gr.Button("upload")
submit_button.click(process_file, inputs=file_input, outputs=[textoutput,text_output])
demo.launch(show_error=True)