近期因为项目交付,需要将自己做的模型部署为服务,并且满足调用,所以这几天学习了如何部署简单的flask服务。下面就对这些内容进行简要记录:
目录
准备
服务部分
?接口调用
准备
1.已经训练好的模型(这里使用jieba分词代替)
2.安装了flask的环境
服务部分
首先构建服务部分的代码:
flask_jieba.py
# -*- coding: utf-8 -*-
import numpy as np
from flask import Flask
from flask import request
from flask import jsonify
import jieba, math
import jieba.analyse
import json
# myModel = "" 也可以在这里引入自己的机器学习模型
app = Flask(__name__)
@app.route('/func',methods=['POST','GET'])
def output_data():
text = request.json
dict_input = json.loads(text)
if text:
temp = jieba.lcut(dict_input["query"])
return json.dumps({"result": temp})
else:
return "Error input."
if __name__ == '__main__':
app.config['JSON_AS_ASCII'] = False
app.run(host='0.0.0.0',port=5050) # 127.0.0.1 #指的是本地ip
print('运行结束')
然后在cmd(Windows系统)/ 终端(MacOS或者Linux系统)中运行上述服务:
>>> python flask_jieba.py
服务正确启动后会输出下面的内容:
?接口调用
在服务启动后,构建接口调用的代码:
request.py
# -*- coding: utf-8 -*-
import json
import requests
url = 'http://x.x.x.x:5050//func'
data_json = json.dumps({"query": "我想大口吃肉大碗喝酒!!!"})
response = requests.post(url, json=data_json)
result = response.json()
print(result)
str_ret = result['result']
print(str_ret)
构建好以后,在终端或cmd中运行request.py代码:
>>> python request.py
运行结果如下图所示:
?思考与总结是前进的基石!
|