import os import gradio as gr import shutil import main def predict_from_pdf(pdf_file): upload_dir = "./catalogue/" os.makedirs(upload_dir, exist_ok=True) try: dest_path = os.path.join(upload_dir, pdf_file.name) with open(dest_path, "wb") as f: f.write(pdf_file.read()) df, response = main_oss.process_pdf_catalog(dest_path) return df, response except Exception as e: return None, f"Error: {str(e)}" pdf_examples = [ ["catalogue/flexpocket.pdf"], ["catalogue/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 MinerU and OpenLLM", article="Uses MinerU for layout analysis and DeepSeek-1.3B for structured extraction" ) if __name__ == "__main__": demo.queue().launch(server_name="0.0.0.0", server_port=7860)