37 lines
1.0 KiB
Python
37 lines
1.0 KiB
Python
import json
|
|
import logging.config
|
|
|
|
from flask import Flask, request
|
|
from paddlenlp import Taskflow
|
|
|
|
from __init__ import IE_KEY
|
|
from log import LOGGING_CONFIG
|
|
from utils import process_request
|
|
|
|
app = Flask(__name__)
|
|
DISCHARGE_RECORD_SCHEMA = tuple(IE_KEY[key] for key in [
|
|
'hospital', 'department', 'name', 'admission_date', 'discharge_date', 'doctor', 'admission_id', 'age'
|
|
])
|
|
DISCHARGE = Taskflow('information_extraction', schema=DISCHARGE_RECORD_SCHEMA, model='uie-x-base',
|
|
task_path='model/discharge_record_model', layout_analysis=False, precision='fp16')
|
|
|
|
|
|
@app.route('/', methods=['POST'], endpoint='discharge')
|
|
@process_request
|
|
def main():
|
|
img_path = request.form.get('img_path')
|
|
layout = request.form.get('layout')
|
|
return DISCHARGE({'doc': img_path, 'layout': json.loads(layout)})
|
|
|
|
|
|
@app.route('/text', methods=['POST'])
|
|
@process_request
|
|
def text():
|
|
t = request.form.get('text')
|
|
return DISCHARGE(t)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
logging.config.dictConfig(LOGGING_CONFIG)
|
|
app.run('0.0.0.0', 5003)
|