构建 API

MLOps 部署与生命周期管理

Nemanja Radojkovic

Senior Machine Learning Engineer

API 顶层

MLOps 部署与生命周期管理

API 定义

MLOps 部署与生命周期管理

服务器

MLOps 部署与生命周期管理

客户端

MLOps 部署与生命周期管理

为客户端提供服务

在我们的服务器上运行过程

示例:Amazon Comprehend 的情感分析 API

Amazon Comprehend 标志

访问远程数据库

示例:Twitter API、纽约时报 API

Twitter API 标志

MLOps 部署与生命周期管理

API 架构

 

  1. REST:表述性状态传递(Representational State Transfer)
  2. RPC:远程过程调用(Remote Procedure Call)
  3. SOAP:简单对象访问协议(Simple Object Access Protocol)

 

本课程: 与架构无关的视角

MLOps 部署与生命周期管理

示例:导航应用

导航应用

 

 

 

API 目标:让客户端计算预计到达时间(ETA)

1 Image: Pixabay, https://www.stockvault.net/user/profile/161904
MLOps 部署与生命周期管理

最简单的 API

MLOps 部署与生命周期管理

最简单的 API 2

MLOps 部署与生命周期管理

模型运行

MLOps 部署与生命周期管理

模型响应

MLOps 部署与生命周期管理

服务器错误

MLOps 部署与生命周期管理

MLOps 部署与生命周期管理

MLOps 部署与生命周期管理

输入校验

MLOps 部署与生命周期管理

输入校验 - 期望

MLOps 部署与生命周期管理

输入校验 3

MLOps 部署与生命周期管理

输入校验 信息提示

MLOps 部署与生命周期管理

请求模型

MLOps 部署与生命周期管理

输出校验

MLOps 部署与生命周期管理

代码缺陷

MLOps 部署与生命周期管理

客户端崩溃

MLOps 部署与生命周期管理

响应模型

MLOps 部署与生命周期管理

输出校验 - 信息性错误消息

MLOps 部署与生命周期管理

定义期望

MLOps 部署与生命周期管理

认证和限流

MLOps 部署与生命周期管理

认证

MLOps 部署与生命周期管理

限流

MLOps 部署与生命周期管理

FastAPI

  • Python 的开源 API 框架
  • 开箱即用的核心功能
  • 快速构建并发布 REST API
1 https://fastapi.tiangolo.com
MLOps 部署与生命周期管理

开始练习!

MLOps 部署与生命周期管理

Preparing Video For Download...