Spaces:
Build error
Build error
| import os | |
| import gradio as gr | |
| import main | |
| #os.environ["CUDA_VISIBLE_DEVICES"]='0' | |
| #os.environ["USE_GPU"]="True" | |
| def predict_from_pdf(pdf_file): | |
| upload_dir = "./catalogue/" | |
| os.makedirs(upload_dir, exist_ok=True) | |
| try: | |
| # Save the uploaded file to a temporary location | |
| dest_path = os.path.join(upload_dir, pdf_file.name) | |
| with open(dest_path, "wb") as f: | |
| with open(pdf_file.name, "rb") as uploaded_file: | |
| f.write(uploaded_file.read()) | |
| # Process the PDF | |
| df, response = main.process_pdf_catalog(dest_path) | |
| return df, response | |
| except Exception as e: | |
| return None, f"Error: {str(e)}" | |
| pdf_examples = [ | |
| ["examples/flexpocket.pdf"], | |
| ["examples/ASICS_Catalog.pdf"], | |
| ] | |
| demo = gr.Interface( | |
| fn=predict_from_pdf, | |
| inputs=gr.File(label="Upload PDF Catalog"), | |
| outputs=["json", "text"], | |
| examples=pdf_examples, | |
| title="Open Source PDF Catalog Parser", | |
| description="Efficient PDF catalog processing using PyMuPDF and OpenLLM", | |
| article="Uses MinerU for layout analysis and DeepSeek-7B for structured extraction" | |
| ) | |
| if __name__ == "__main__": | |
| demo.queue().launch(server_name="0.0.0.0", server_port=7860, share=True) |