サーブされたモデルをai_query()でクエリーする

プレビュー

この機能はパブリックプレビュー段階です。

この記事では、 ai_query()を使用して SQL から エンドポイントを提供するモデル にクエリを実行する方法について説明します。

ai_query()とは

ai_query() 関数は、組み込みのDatabricks SQL関数であり、AI 関数の1つです。これにより、次のタイプのモデルに SQL クエリーからアクセスできます。

  • モデルサービングエンドポイントによってホストされるカスタムモデル。

  • Databricks によってホストされるモデル 基盤モデル APIs.

  • 外部モデル (Databricks の外部でホストされているサードパーティ モデル)。

構文とデザイン パターンについては、「 ai_query関数」を参照してください。

この関数を使用して モデルサービングエンドポイントをクエリーする場合、 モデルサービング が使用可能で有効になっているワークスペースとリージョンでのみ使用できます。

要件

ai_query()でエンドポイントをクエリーする

サーバーレスまたはプロSQLウェアハウスで ai_query() を使用して、エンドポイントの背後にあるモデルをクエリできます。 スコアリング要求と応答の形式については、「クエリ基盤モデルと外部モデル」を参照してください。

  • 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 エンドポイントの背後にある分類モデルをクエリーして、 textinbox_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