次の方法で共有


ai_query() を使って提供されたモデルにクエリを実行する

重要

この機能はパブリック プレビュー段階にあります。

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

ai_query() の概要

ai_query() 関数は、Azure Databricks の組み込みの SQL 関数であり、AI 関数の一部です。 これを使用すると、SQL クエリから以下の種類のモデルにアクセスできます。

  • モデル提供エンドポイントによってホストされるカスタム モデル。
  • Databricks Foundation Model API でサポートされているモデル
  • 外部モデル (Databricks の外部でホストされているサードパーティ モデル)。

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

この関数は、モデル提供エンドポイントへのクエリの実行に使用される場合、モデルの提供が使用可能で有効になっているワークスペースとリージョンでのみ使用できます。

要件

ai_query() を使ってエンドポイントにクエリを実行する

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

Note

  • 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 エンドポイントの背後にある分類モデルに対してクエリを実行し、inbox_messages テーブル内の text がスパムかどうかを一括で予測します。 このモデルは、タイムスタンプ、送信者、テキストの 3 つの入力特徴量を受け取ります。 このモデルはブール値配列を返します。

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