APIの構築

MLOpsのデプロイとライフサイクル

Nemanja Radojkovic

Senior Machine Learning Engineer

最上位のAPI

MLOpsのデプロイとライフサイクル

API定義

MLOpsのデプロイとライフサイクル

サーバー

MLOpsのデプロイとライフサイクル

クライアント

MLOpsのデプロイとライフサイクル

クライアントへのサービス

サーバー上で手続きを実行

例: Amazon Comprehend の感情分析API

Amazon Comprehend ロゴ

リモートDBへアクセス

例: Twitter API、New York Times API

Twitter API ロゴ

MLOpsのデプロイとライフサイクル

APIアーキテクチャ

 

  1. REST: REpresentational State Transfer
  2. RPC: Remote Procedure Call
  3. SOAP: Simple Object Access Protocol

 

本コース: アーキテクチャ非依存の視点

MLOpsのデプロイとライフサイクル

例: ナビゲーションアプリ

ナビゲーションアプリ

 

 

 

APIの目的: クライアントが到着予想時刻を計算できるようにする

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...