整体思路
- 使用轻量级的后端框架
flask
运行要加载的模型,作为后端,保持在后端运行 - 调用程序时直接使用
url
访问即可
需要用到的依赖包:
pip install flask
逐步构建
首先新建一个文件运行flask的文件,文件名随便:
from flask import Flask, request
app = Flask(__name__)
@app.route('/model', methods=['GET'])
def get_model():
if request.method == 'GET':
param = request.args.get("input", None)
"""调用模型处理"""
# 这里直接把传入的输出,可以在这里加入调用模型的逻辑
return param
if __name__ == '__main__':
app.run(host='127.0.0.1', debug=True, port='8999') # debug模式运行,如果不想看日志可以使debug=False
在本地浏览器中运行:http://127.0.0.1:8999/model?input="aaa"
,可以看到输出:
"aaa"
保持这个程序全程一直运行即可。
再次新建一个文件,用于调用这个接口:
import json
import requests
def use_flask(analyze_input) -> json: # 传入待分析的文本,与token
url = "http://127.0.0.1:8999/model" # 这里是访问的url
request = requests.get(url, params={
'input': analyze_input # 这里传入
})
if request.status_code == 200:
return request.text
if __name__ == '__main__':
data = use_flask("my_input_value")
print(data)
当我们调试主程序时,不论运行多少次这个文件,都不会影响到flask的后端程序,因此可以方便我们多次快速调试。
如果有多个参数,可以在requests.get(url, params)
这里添加
完整代码
Flask文件:
from flask import Flask, request
app = Flask(__name__)
@app.route('/model', methods=['GET'])
def get_model():
if request.method == 'GET':
param = request.args.get("input", None)
"""调用模型处理"""
return param
if __name__ == '__main__':
app.run(host='127.0.0.1', debug=True, port='8999')
使用示例:
import json
import requests
def use_flask(analyze_input) -> json: # 传入待分析的文本,与token
url = "http://127.0.0.1:8999/model"
request = requests.get(url, params={
'input': analyze_input
})
if request.status_code == 200:
return request.text
if __name__ == '__main__':
data = use_flask("my_input_value")
print(data)
参考文章
-
Flask 快速上手:https://dormousehole.readthedocs.io/en/latest/quickstart.html#id2
-
GET and POST requests using Python:https://www.geeksforgeeks.org/get-post-requests-using-python/
-
Add params to given URL in Python:https://stackoverflow.com/questions/2506379/add-params-to-given-url-in-python