Spaces:
Sleeping
Sleeping
from apis.layoutlm import LayoutLM | |
import pandas as pd | |
import gradio as gr | |
import os | |
layoutlm = None | |
def auth(username, password): | |
u = os.environ.get('USERNAME') | |
p = os.environ.get('PASSWORD') | |
return (username == u and password == p) | |
def inference(img) -> pd.DataFrame: | |
return layoutlm.inference(img) | |
def ask(img, question) -> str: | |
return layoutlm.answer_the_question(img, question, is_debug=True) | |
if __name__ == '__main__': | |
try: | |
layoutlm = LayoutLM() | |
layoutlm.set_model(layoutlm.default_model) | |
with gr.Blocks() as demo: | |
with gr.Row(): | |
inp_img = gr.Image(type='pil') | |
with gr.Column(): | |
out = gr.Dataframe( | |
headers=['Data', 'Value'], | |
datatype=['str', 'str'], | |
row_count=8, | |
col_count=(2, 'fixed'), | |
interactive=False | |
) | |
txt_custom_question = gr.Textbox(label='Your question') | |
btn_ask = gr.Button('Ask me') | |
txt_out_answer = gr.Textbox(label='Answer', interactive=False) | |
# event | |
inp_img.change(inference, inp_img, out) | |
btn_ask.click(ask, [inp_img, txt_custom_question], txt_out_answer) | |
demo.launch(auth=auth) | |
except Exception as e: | |
print(str(e)) |