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)