中文 NLP 模型部署实战:FastAPI 接口 + Streamlit 看板

一、为什么要做服务化

训练脚本只能由开发者运行,业务系统无法直接调用。服务化之后,其他系统只需要发送 HTTP 请求,就能获得模型预测结果。

本项目采用 FastAPI 提供接口,Streamlit 提供可视化操作页面。

二、服务架构

text 复制代码
Streamlit 看板 :8501
        |
        +--> 投诉分流 API :8000
        +--> 广告检测 API :8006
        +--> 其他模型推理模块

三、FastAPI 接口设计

投诉分流服务提供:

  • GET /health:检查服务是否正常;
  • POST /predict:单条评论预测;
  • POST /predict/batch:批量评论预测。

请求示例:

json 复制代码
{
  "text": "快递太慢了,等了一个星期"
}

返回内容包括问题类型、置信度、路由部门和人工复核标记:

json 复制代码
{
  "text": "快递太慢了,等了一个星期",
  "problem_type": "物流问题",
  "confidence": 0.95,
  "route_to": "物流履约组",
  "manual_review": false
}

四、接口参数校验

使用 Pydantic 限制文本长度和批量数量,避免空输入、超长输入或异常大批量请求拖垮服务。

python 复制代码
class PredictRequest(BaseModel):
    text: str = Field(min_length=1, max_length=5000)

五、模型推理注意事项

服务启动后应尽量复用已加载模型,避免每次请求重新加载权重。预测阶段需要:

python 复制代码
model.eval()
with torch.no_grad():
    logits = model(input_ids, attention_mask)

这样可以关闭 Dropout 和梯度计算,降低内存占用和推理开销。

六、低置信度人工复核

AI 系统不应假设模型永远正确。项目设置置信度阈值:

text 复制代码
置信度 >= 0.60 -> 自动处理
置信度 < 0.60  -> 进入人工复核

这个设计可以降低边界样本被错误自动分流的风险,也为后续数据回流提供入口。

七、Streamlit 看板功能

看板支持:

  • 数据概览;
  • 模型选择;
  • 单条文本分析;
  • CSV / TSV 批量上传;
  • 置信度和类别概率展示;
  • 低置信度样本标记;
  • 结果下载;
  • 多模型联合分析。

八、当前架构不足

1. 前端和模型耦合偏重

看板当前会直接加载部分模型,适合 demo,但会导致启动慢、资源占用高、扩缩容困难。生产环境更适合让前端只调用统一模型服务。

2. 技术栈没有完全统一

部分历史基线接口使用 Flask,而主线接口使用 FastAPI。后续应统一服务框架,减少维护成本。

3. 模型文件和配置需要统一管理

训练、量化、API 和看板必须绑定同一个模型版本,避免出现训练产物名称不一致或不同入口加载不同权重的问题。

九、生产化改进方向

  • 使用统一模型注册表;
  • 增加 Docker Compose 部署;
  • 增加请求日志、耗时监控和错误告警;
  • 使用队列处理大批量任务;
  • 将模型服务与前端彻底解耦;
  • 增加鉴权、限流和输入安全检查。

十、总结

FastAPI 解决模型能力如何被其他系统调用的问题,Streamlit 解决业务人员如何使用的问题。真正的 AI 系统需要同时关注模型效果、接口稳定性、用户体验和人工兜底。


相关推荐
LPCK_2026062226 分钟前
从自动化到自主化:生物制药智能体的人机边界怎么设计
大数据·人工智能·自动化
smartpi_ai27 分钟前
JL-17T 能接传感器并把数据发到小程序吗?GPIO/ADC/UART 平台可做,I2C/SPI 要二开
人工智能·小程序·语音识别
hyunbar77728 分钟前
LangChain 实战:Agnets核心组件
人工智能
Mid_search29 分钟前
高估问题、Target Network、Double DQN
人工智能·深度学习·强化学习·double dqn·bootstrapping·target network
必须会一定会30 分钟前
Agent Handoff v0.6.0 跨电脑同步:Git、EVENTS.jsonl、CONTEXT.md 使用方法
人工智能·git·ai编程
思考着亮36 分钟前
2.RAG 七种分块技术方案
人工智能
YOLO数据集集合37 分钟前
隧道病害检测数据集 | 隧道检测 裂缝识别 渗水监测 剥落检测9037期
人工智能·深度学习·yolo·隧道·裂缝检测·裂缝识别·隧道病害
87338 分钟前
在 Uber 规模下高效运行软件工厂
人工智能·架构
腾讯云开发者42 分钟前
以数字破局传统酿造,以出海拓路东方浓香 | 专访泸州老窖 CDO 苏王辉
人工智能