サーブされたモデルをai_query()
でクエリーする
プレビュー
この機能はパブリックプレビュー段階です。
この記事では、 ai_query()
を使用して SQL から エンドポイントを提供するモデル にクエリを実行する方法について説明します。
ai_query()
とは
ai_query()
関数は、組み込みのDatabricks SQL関数であり、AI 関数の1つです。これにより、次のタイプのモデルに SQL クエリーからアクセスできます。
モデルサービングエンドポイントによってホストされるカスタムモデル。
Databricks によってホストされるモデル 基盤モデル APIs.
外部モデル (Databricks の外部でホストされているサードパーティ モデル)。
構文とデザイン パターンについては、「 ai_query関数」を参照してください。
この関数を使用して モデルサービングエンドポイントをクエリーする場合、 モデルサービング が使用可能で有効になっているワークスペースとリージョンでのみ使用できます。
要件
「要件」を参照してください。
ai_query()
でエンドポイントをクエリーする
エンドポイントの背後にあるモデルは、サーバレスまたはプロ ウェアハウスの ai_query()
を使用してクエリ SQLできます。 スコアリング要求と応答の形式については、「 クエリ生成AI モデル」を参照してください。
注
Databricks Runtime 14.2 以降の場合、この機能はDatabricksノートブックやジョブなどのノートブック環境でサポートされています。
Databricks Runtime 14.1 以下では、この関数はDatabricksを含むデータベース環境ではサポートされていません。
例: 大規模言語モデルのクエリー
次の例では、 text
データセットを使用して sentiment-analysis
エンドポイントの背後にあるモデルにクエリーをかけ、要求の戻り値の型を指定します。
SELECT text, ai_query(
"sentiment-analysis",
text,
returnType => "STRUCT<label:STRING, score:DOUBLE>"
) AS predict
FROM
catalog.schema.customer_reviews
例: 予測モデルのクエリー
次の例では、 spam-classification
エンドポイントの背後にある分類モデルをクエリーして、 text
が inbox_messages
テーブル内のスパムであるかどうかをバッチ予測します。 このモデルは、タイムスタンプ、送信者、テキストの 3 つの入力特徴量を受け取ります。 モデルは Boolean 配列を返します。
SELECT text, ai_query(
endpoint => "spam-classification",
request => named_struct(
"timestamp", timestamp,
"sender", from_number,
"text", text),
returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages