A lightweight and pluggable model serving framework based on Flask.
Project description
dig-flask-serve
一个轻量级 Flask 模型发布框架,支持多模型、多线程、高可配置的模型接口发布工具。
快速开始
📦 安装方式 在线安装(推荐):
pip install dig-flask-serve
python examples/user_model_publish.py
离线安装(通过 .whl 包):
pip install dig_flask_serve-0.1.0-py3-none-any.whl
🚀 启动方式 使用内置示例脚本快速发布多个模型接口:
python model_publishing_example.py
from dig_flask_serve import dig_flask, BaseModelHandler
import time
# 示例模型 1
class Model1Handler(BaseModelHandler):
#模型加载
def init_model(self):
print("Initializing Model1 ...")
self.model = 42
#模型调用
def predict(self, input_data):
x = input_data.get('x', 0)
time.sleep(1) # 模拟计算耗时
return x + self.model
# 示例模型 2
class Model2Handler(BaseModelHandler):
#模型加载
def init_model(self):
print("Initializing Model2 ...")
self.model = 3.14
#模型调用
def predict(self, input_data):
x = input_data.get('x', 0)
time.sleep(0.5)
return x * self.model
# 创建应用并注册模型
flask_app = dig_flask()
# 创建对应线程数,不指定默认为16
flask_app.enable_thread_pool(max_workers=16)
# 声明对外访问接口以及对应的请求方式
flask_app.register_model(Model1Handler(), url='/predict/model1', methods=['POST'])
flask_app.register_model(Model2Handler(), url='/predict/model2', methods=['POST'])
# 启动服务(默认支持多线程)
flask_app.run(port=7000)
运行后输出示例:
Initializing Model1 ...
Initializing Model2 ...
* Serving Flask app 'dig_flask_serve.dig_flask'
* Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:7000
* Running on http://10.134.11.225:7000
🔗 接口访问说明
🛠 在线测试工具页面: 👉 http://127.0.0.1:7000
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dig_flask_serve-1.1.0.tar.gz
(9.8 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dig_flask_serve-1.1.0.tar.gz.
File metadata
- Download URL: dig_flask_serve-1.1.0.tar.gz
- Upload date:
- Size: 9.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3ffec00118d0c44313bf97e8d844d1807f3ba96f82bc8dbbf562602f8d56e8f0
|
|
| MD5 |
78608d70cffcbb69bce6309231c1b125
|
|
| BLAKE2b-256 |
d0528df8743a74d4de55d7a24a56f4ba74fc5db15bfa9dc430733895ab10771f
|
File details
Details for the file dig_flask_serve-1.1.0-py3-none-any.whl.
File metadata
- Download URL: dig_flask_serve-1.1.0-py3-none-any.whl
- Upload date:
- Size: 10.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
573353ab49f364a42fafe70c491986be76957b50688290df50c1294ddcd64788
|
|
| MD5 |
9783dc59664ddeb890438a77ff57e54e
|
|
| BLAKE2b-256 |
933585cfdf69efaed6440631648b56885d77d625021590f10d6aae5028fda2c6
|