Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dig_flask_serve-1.1.0-py3-none-any.whl (10.7 kB view details)

Uploaded Python 3

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

Hashes for dig_flask_serve-1.1.0.tar.gz
Algorithm Hash digest
SHA256 3ffec00118d0c44313bf97e8d844d1807f3ba96f82bc8dbbf562602f8d56e8f0
MD5 78608d70cffcbb69bce6309231c1b125
BLAKE2b-256 d0528df8743a74d4de55d7a24a56f4ba74fc5db15bfa9dc430733895ab10771f

See more details on using hashes here.

File details

Details for the file dig_flask_serve-1.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for dig_flask_serve-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 573353ab49f364a42fafe70c491986be76957b50688290df50c1294ddcd64788
MD5 9783dc59664ddeb890438a77ff57e54e
BLAKE2b-256 933585cfdf69efaed6440631648b56885d77d625021590f10d6aae5028fda2c6

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page