39 lines
1.2 KiB
Python
39 lines
1.2 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__)
|
|
SETTLEMENT_LIST_SCHEMA = tuple(IE_KEY[key] for key in [
|
|
'name', 'admission_date', 'discharge_date', 'medical_expenses', 'personal_cash_payment',
|
|
'personal_account_payment', 'personal_funded_amount', 'medical_insurance_type', 'admission_id', 'settlement_id',
|
|
'uppercase_medical_expenses'
|
|
])
|
|
SETTLEMENT_IE = Taskflow('information_extraction', schema=SETTLEMENT_LIST_SCHEMA, model='uie-x-base',
|
|
task_path='model/settlement_list_model', layout_analysis=False, precision='fp16')
|
|
|
|
|
|
@app.route('/', methods=['POST'], endpoint='settlement')
|
|
@process_request
|
|
def main():
|
|
img_path = request.form.get('img_path')
|
|
layout = request.form.get('layout')
|
|
return SETTLEMENT_IE({'doc': img_path, 'layout': json.loads(layout)})
|
|
|
|
|
|
@app.route('/text', methods=['POST'])
|
|
@process_request
|
|
def text():
|
|
t = request.form.get('text')
|
|
return SETTLEMENT_IE(t)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
logging.config.dictConfig(LOGGING_CONFIG)
|
|
app.run('0.0.0.0', 5002)
|