当前位置:   article > 正文

paddle-NLP 文档分析_paddlenlp

paddlenlp

发票抽取问答、海报抽取问答、网页抽取问答、表格抽取问答、试卷抽取问答。

  1. from pprint import pprint
  2. from paddlenlp import Taskflow
  3. import gradio as gr
  4. from paddlenlp import Taskflow
  5. import numpy as np
  6. from PIL import Image
  7. import uuid
  8. docprompt = Taskflow("document_intelligence")
  9. def model_inference(image, prompt):
  10. prompt = prompt.split("?")[:-1]
  11. # TODO:非得要个网络或本地地址,ndarray不行
  12. img = Image.fromarray(np.uint8(image))
  13. filename = "./image/" + str(uuid.uuid4()) + ".png"
  14. img.save(filename)
  15. res = docprompt([{"doc": filename, "prompt": prompt}])
  16. json_out = {"result": res}
  17. return image,json_out
  18. def clear_all():
  19. return None, None, None
  20. with gr.Blocks() as demo:
  21. gr.Markdown("ERNIE-Layout")
  22. with gr.Column(scale=1, min_width=100):
  23. img_in = gr.Image(value="https://bj.bcebos.com/paddlenlp/taskflow/document_intelligence/images/invoice.jpg",
  24. label="Input")
  25. text = gr.Textbox(
  26. value="发票号码是多少?校验码是多少?",
  27. label="输入问题:",
  28. lines=2)
  29. with gr.Row():
  30. btn1 = gr.Button("Clear")
  31. btn2 = gr.Button("Submit")
  32. json_out = gr.JSON(label="Information Extraction Output")
  33. img_out = gr.Image(label="Output").style(height=400)
  34. btn1.click(fn=clear_all, inputs=None, outputs=[img_in, img_out, json_out])
  35. btn2.click(fn=model_inference, inputs=[img_in, text], outputs=[img_out,json_out])
  36. gr.Button.style(1)
  37. demo.launch(server_port=7007)

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/914754
推荐阅读
相关标签
  

闽ICP备14008679号