Spaces:
Sleeping
Sleeping
| 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: 350px; | |
| 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) | |