File size: 1,752 Bytes
c3a1883 8a0dac3 c3a1883 8a0dac3 c3a1883 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
import gradio as gr
import requests
request_method_map = {
'同步': 'sync',
'异步': 'async',
}
tasks_map = {
'关键词提取': 'keywords',
'ocr': 'ocr',
'表格': 'ocr_table',
}
subtask_map = {
'身份证': 'id_card',
'信息表': 'inform_table',
'营业执照': 'bus_lic',
'银行卡信息': 'bank_info',
'用户信息采集表': 'user_info_collect',
}
def ocr_task(request_method, tasks, subtask, file, url):
"""
:param request_method:
:param tasks:
:param subtask:
:param file:
:param url:
:return:
"""
res = requests.post(url, data={
'file': file,
'request_method': request_method_map.get(request_method),
'tasks': tasks_map.get(tasks),
'subtask': subtask_map.get(subtask),
'angle': 0,
})
return str(res.json())
def ocr_tab():
with gr.Tab("ocr 识别"):
gr.Markdown('ocr 工具')
with gr.Accordion("说明", open=False):
gr.Markdown("""
# Hello World!
嘤嘤嘤
嘻嘻嘻
""")
with gr.Column():
url_input = gr.Textbox(label='接口链接')
with gr.Row():
request_method = gr.Dropdown(choices=list(request_method_map.keys()), label='运行方式')
tasks = gr.Dropdown(choices=list(tasks_map.keys()), label='模式')
subtask = gr.Dropdown(choices=list(subtask_map.keys()), label='文件类型')
file = gr.File(type='file')
text_output = gr.Textbox(label="结果", lines=10)
text_button = gr.Button('识别')
text_button.click(ocr_task, inputs=[request_method, tasks, subtask, file, url_input], outputs=text_output)
|