Python部署机器学习模型为API服务的核心是:封装模型为可调用接口、选用FastAPI等轻量Web框架、通过Docker容器化或直接运行;需持久化保存模型(如joblib、torch.save、saved_model)、编写带类型提示的推理接口、用uvicorn启动并测试,生产环境可结合gunicorn、Nginx和requirements.txt保障稳定。
用Python把训练好的机器学习模型部署成API服务,核心是:封装模型为可调用接口 + 选择轻量Web框架 + 容器化或直接运行。不需复杂运维,本地测试、生产上线都能快速落地。
训练完模型后,别只留 notebook。必须持久化为文件,方便后续加载。
FastAPI 性能高、自带文档、类型提示友好;Flask 更简单适合入门。以下以 FastAPI 为例:
from fastapi import FastAPI
import joblib
import numpy as np
app = FastAPI()
model = joblib.load("model.pkl") # 启动时加载一次
@app.post("/predict")
def predict(data: dict):
# 假设输入是 {"features": [1.2, 3.4, 0.8]}
X = np.array([data["features"]])
pred = model.predict(X).tolist()
return {"prediction": pred}
终端运行:uvicorn app:app --reload --host 0.0.0.0:8000
tion/json" -d '{"features": [5.1, 3.5, 1.4, 0.2]}'
不追求 K8s,先跑稳:
基本上就这些。模型 API 部署不复杂但容易忽略细节——关键是模型加载一次、输入校验做全、错误返回清晰、日志留痕。跑通本地 → 封装 Docker → 上服务器,三步就能对外提供稳定推理服务。