训练好的模型怎么给客户用?FastAPI + Docker 是当前最主流的组合。
FastAPI 部分:
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
model = load_model() # 启动时加载,请求时直接用
class TextIn(BaseModel):
text: str
@app.post("/predict")
def predict(item: TextIn):
result = model(item.text)
return {"result": result}
|
跑起来:uvicorn app:app --host 0.0.0.0 --port 8000
Docker 部分(Dockerfile):
FROM python:3.10-slim WORKDIR /app COPY requirements.txt . RUN pip install -r requirements.txt COPY . . CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "8000"] |
构建镜像:
docker build -t my-model:v1 . |
运行:
docker run -d -p 8000:8000 my-model:v1 |
客户那边只要装了 Docker,一行命令就能跑起来。模型更新就是换镜像,不会污染客户环境。
本文由 BBZ · 小朵科技工作室 出品。