Azure Machine Learning モデルを呼び出す
azure_ml
スキーマを使用すると、データベースはカスタム構築された機械学習モデルの機能とやりとりできるようになります。 azure_ml
スキーマを利用することで、PostgreSQL データベースを Azure Machine Learning services とシームレスに統合できます。 この統合により、データベースから機械学習モデルを直接デプロイして提供できるようになり、リアルタイム推論を効率的かつスケーラブルにします。
azure_ml
スキーマを使用したリアルタイム推論
azure_ai
拡張機能を使用する場合、azure_ml
スキーマには、データベースからリアルタイム推論を直接実行するための関数が用意されています。 このスキーマ内の inference
関数は、Azure Machine Learning のトレーニング済みモデルを使用して、予測または出力の生成を容易に実行できるように設計されています。 モデルをデプロイすると、推論関数を使用してモデルを呼び出し、新しいデータについて予測を取得できます。
azure_ml.inference(jsonb,integer,boolean,text)
inference()
関数では次の入力パラメーターが必要になります。
パラメーター | Type | Default | 説明 |
---|---|---|---|
input | jsonb |
Azure Machine Learning モデルとやりとりするために必要な input_data オブジェクトを含む JSON オブジェクト。 |
|
timeout_ms | integer |
NULL::integer |
タイムアウト... |
throw_on_error | boolean |
true |
説明... |
deployment_name | text |
NULL::text |
(省略可能) 指定した Azure Machine Learning エンドポイントを対象とするモデル デプロイの名前。 |
Azure Machine Learning 推論エンドポイントでは、入力として JavaScript Object Notation (JSON) オブジェクトが必要です。 ただし、このオブジェクトの構造はその基になるモデルに依存します。 たとえば、シアトル地域内の短期住宅賃貸の日々の賃貸価格を予測するようにトレーニングされた回帰モデルでは、近隣、郵便番号、寝室の数、浴室の数などの特定の入力が次のような形になります。
{
"input_data": {
"columns": [
"host_is_superhost",
"host_has_profile_pic",
"host_identity_verified",
"neighbourhood_group_cleansed",
"zipcode",
"property_type",
"room_type",
"accommodates",
"bathrooms",
"bedrooms",
"beds"
],
"index": [0],
"data": [["False", "False", "False", "Central Area", "98122", "House", "Entire home/apt", 4, 1.5, 3, 3]]
}
}
デプロイされたエンドポイントに関連付けられた Swagger 定義を調べることで、必要な入力オブジェクト構造を取得できます。 この定義では、入力と出力を決定するために使用できる ServiceInput
および ServiceOutput
構造体を指定します。
Azure Machine Learning への接続を構成する
azure_ml.inference()
関数を使用してリアルタイム推論を実行する前に、Azure Machine Learning スコアリング エンドポイントとキーを使用して、拡張機能を構成する必要があります。 azure_ml.scoring_endpoint
の値は、デプロイされたモデルの REST エンドポイントです。 azure_ml.endpoint_key
の値は、このエンドポイントのプライマリまたはセカンダリ キーのいずれかになります。
SELECT azure_ai.set_setting('azure_ml.scoring_endpoint', '{endpoint}');
SELECT azure_ai.set_setting('azure_ml.endpoint_key','{api-key}');