予測サービス

MLアプリケーションは、認証と認可を処理しながら、安定した予測エンドポイントで予測サービスを公開する安全な方法を提供します。MLアプリケーションは、IAM認証とOAuth認証の両方をサポートしています。

予測エンドポイントは安定したままであり、バックエンドの変更の影響を受けません。ユーザーは、MLアプリケーション・インスタンスの詳細で正確なエンドポイントURLを見つけることができます。リクエストを手動で構築するには、次のことを知っておく必要があります。
リージョン
MLアプリケーション・インスタンスがプロビジョニングされた場所
インスタンスID
MLアプリケーション・インスタンスのOCID。
ユースケース名
予測ユースケース。これは、MLアプリケーション・インスタンスで使用されるモデル・デプロイメントの表示名と一致する必要があります。
ノート

予測ユース・ケースの名前は、MLアプリケーション・インスタンスで使用されるモデル・デプロイメントの表示名と一致する必要があります。

クライアント・アプリケーションは、実装で使用されるモデル・デプロイメントと直接対話しません。かわりに、予測リクエストはインスタンスIDと指定されたユースケースに基づいてルーティングされ、次のことが保証されます。

  • リクエストは正しいモデル・デプロイメントにディスパッチされます。
  • 各予測リクエストは、モデル・デプロイメントによって処理されると、MLアプリケーション・インスタンス(datasciencemlappinstanceリソース・プリンシパル)のアイデンティティに基づいて実行されます。

モデル・デプロイメントは、予測サービスの実装バックエンドとして機能し、次の機能を提供します。

  • 信頼性のために負荷分散されたインフラストラクチャを使用する高可用性。
  • 自動スケーリングにより、需要に応じて自動スケーリングが可能です。

モデル・デプロイメントの詳細は、「モデル・デプロイメント」の章を参照してください。

クラウド・シェルでoci CLIを使用して予測サービスをテストできます:
oci raw-request
 --http-method POST
 --target-uri "<Copy_URI_from_the_ML_Application_instance_view_detail>"
 --request-body '{"data":"<your payload>"}'
ノート

MLアプリケーションに、バックアップされたモデル・デプロイメントへの予測リクエストをディスパッチする権限を付与します。
たとえば、次のようにポリシーを定義できます:
allow any-user to {DATA_SCIENCE_MODEL_DEPLOYMENT_PREDICT} 
in compartment id <COMPARTMENT> 
            where all {request.principal.type = 'datasciencemlapp', request.principal.compartment.id = target.compartment.id}
ノート

OCI SDKでは予測コールの組込みサポートが提供されないため、OCI SDKがデフォルトでサポートする、妥当なタイムアウト、回路遮断器などのクライアント側の再試行など、標準の回復パターンを実装することをお薦めします。