用FastAPI部署深度学习模型

FastAPI 部署深度学习模型的方法

安装依赖

确保安装 FastAPI 和 Uvicorn:

bash 复制代码
pip install fastapi uvicorn

如果模型依赖其他库(如 PyTorch、TensorFlow),需一并安装:

bash 复制代码
pip install torch tensorflow
创建 FastAPI 应用

新建一个 Python 文件(如 main.py),初始化 FastAPI 应用:

python 复制代码
from fastapi import FastAPI
app = FastAPI()
加载模型

在应用启动时加载预训练模型。以 PyTorch 为例:

python 复制代码
import torch
from transformers import pipeline

model = pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")
定义预测接口

创建一个 POST 接口接收输入数据并返回预测结果:

python 复制代码
from pydantic import BaseModel

class InputText(BaseModel):
    text: str

@app.post("/predict")
def predict(input: InputText):
    prediction = model(input.text)
    return {"prediction": prediction}
运行服务

使用 Uvicorn 启动服务:

bash 复制代码
uvicorn main:app --reload

访问 http://127.0.0.1:8000/docs 可查看交互式 API 文档。

异步支持(可选)

对于高并发场景,可以使用异步方式加载模型:

python 复制代码
from fastapi import FastAPI
import asyncio

app = FastAPI()

async def load_model():
    return pipeline("text-classification", model="distilbert-base-uncased-finetuned-sst-2-english")

model = asyncio.run(load_model())
生产环境部署

使用 Gunicorn 管理多进程:

bash 复制代码
pip install gunicorn
gunicorn -w 4 -k uvicorn.workers.UvicornWorker main:app
Docker 容器化

创建 Dockerfile

dockerfile 复制代码
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["gunicorn", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "main:app"]

构建并运行容器:

bash 复制代码
docker build -t model-api .
docker run -p 8000:8000 model-api
相关推荐
卷福同学5 小时前
不用服务器,不用配环境,我10分钟上线了一个AI Agent
人工智能·后端·算法
码兄科技6 小时前
Java AI智能体开发实战:从零构建智能对话系统指南
java·开发语言·人工智能
Zik----7 小时前
CCswitch-code
人工智能
AI科技星8 小时前
全域谱分析:无穷维超复数信息场分形统一场论 ——自然、量子、金融多重分形第一性原理完整体系(中英双语终稿)
人工智能·机器学习·金融·乖乖数学·全域数学
国服第二切图仔8 小时前
HarmonyOS APP《画伴梦工厂》开发第44篇-页面路由注册与动态加载——main_pages配置
深度学习·华为·harmonyos
stormzhangV8 小时前
为什么你的 AI 像智障
人工智能
ai产品老杨9 小时前
H264 H265视频分析常见问题和排查清单
人工智能·算法·音视频
项目经理老王9 小时前
OpenClaw无捆绑安装包,安全纯净版AI助手部署
人工智能·安全
梦帮科技9 小时前
GRAVIS v4.0:基于Web的极速套利架构设计与实时数据流实现
前端·人工智能·rust·自动化·区块链·智能合约·数字货币
“码”力全开9 小时前
AI视频分析API性能优化指南
人工智能·性能优化·音视频