Spaces:
Running
Running
| import gradio as gr | |
| from gradio_pdf import PDF | |
| from pdf2image import convert_from_path | |
| from transformers import pipeline | |
| from pathlib import Path | |
| dir_ = Path(__file__).parent | |
| p = pipeline( | |
| "document-question-answering", | |
| model="impira/layoutlm-document-qa", | |
| ) | |
| def qa(doc: str, question: str) -> str: | |
| img = convert_from_path(doc)[0] | |
| output = p(img, question) | |
| return sorted(output, key=lambda x: x["score"], reverse=True)[0]['answer'] | |
| demo = gr.Interface( | |
| qa, | |
| [PDF(label="Document"), gr.Textbox()], | |
| gr.Textbox(), | |
| examples=[[str(dir_ / "invoice_2.pdf"), "What is the total gross worth?"]] | |
| ) | |
| demo.launch() |