FastApi
import uvicorn
from fastapi import FastAPI
from starlette.middleware.cors import CORSMiddleware
from fastapi import File,UploadFile,Form
from pydantic import BaseModel
from typing import Optional
app = FastAPI()
app.add_middleware(
CORSMiddleware,
allow_origins=["*"],
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"])
class fun_Base(BaseModel):
text: str
number: int
def a_fun (img,number):
print('this is infer',img,'Page:',number)
return img
class a_class:
def __init__(self):
self.model = None
print('load for your model')
def infer (self,cv_img):
print('use',self.model,'infer',cv_img)
return cv_img
@app.post("/url_path")
async def text_Symbol(text_base: fun_Base):
text_res = a_fun(text_base.text,text_base.number)
return {"code": 200, "msg": 'success', "result": {"punc_text":text_res}}
import cv2
import numpy as np
a_pre = a_class()
@app.post("/paddlespeech/clas")
async def clas_examine (choice:str=Form(...),text:Optional[str] = Form(None),file: UploadFile = File(...)):
cv_img = cv2.imdecode(np.fromstring(file.file.read(), np.uint8), cv2.IMREAD_COLOR)
filename = file.filename
with open(filename,'wb') as f: f.write(file.read())
cv_img = a_pre.infer(cv_img)
return {"code": 200, "msg": 'success', "result": {"punc_text":cv_img}}
if __name__ == '__main__':
uvicorn.run(app, host="0.0.0.0", port=9556)
Flask
from flask import Flask,request,jsonify
from flask_cors import CORS
app = Flask(__name__)
@app.after_request
def cors(environ):
environ.headers['Access-Control-Allow-Origin']='*'
environ.headers['Access-Control-Allow-Method']='*'
environ.headers['Access-Control-Allow-Headers']='x-requested-with,content-type'
return environ
CORS(app, supports_credentials=True)
from PIL import Image
@app.route("/token_embedding",methods=["POST",])
def token_embed():
data = request.get_json()
str_ = request.form.get('str_')
file = request.files['file']
filename = file.filename
file.save(filename)
image = Image.open(request.files['file'])
files = request.files.getlist("files")
for one_file in files:
print(one_file)
return jsonify({"code": 200, "msg": 'success', "result": ''})
if __name__ == '__main__':
app.run(host='0.0.0.0', port=8922, debug=False)
请求
networkAddress = "http://127.0.0.1"
headers = {'Content-Type': 'application/json'}
payload = json.dumps({})
response = requests.request("POST", networkAddress, headers=headers, data=payload)
print(time.time()-start, json.loads(response.text))
result = json.loads(response.text)