次の方法で共有


AI 関数を使用してデータを強化する

Important

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

AI Functions は、データ変換とエンリッチメントのために、Azure Databricksに格納されているデータに LLM または最先端の研究手法を適用するために使用できる組み込み関数です。 Databricks SQL、ノートブック、Lakeflow Spark 宣言パイプライン、ワークフローなど、Databricks 上のどこからでも実行できます。

AI Functions は、使いやすく、高速でスケーラブルです。 アナリストはそれらを使用して独自のデータにデータ インテリジェンスを適用できます。一方、データ エンジニア、データ サイエンティスト、機械学習エンジニアは、それらを使用して運用グレードのバッチ パイプラインを構築できます。

タスク固有および汎用

AI Functions には、タスク固有の汎用関数があります。

  • タスク固有の AI 関数 — ドキュメント解析、エンティティ抽出、分類、センチメント分析など、特定のタスク用に最適化された専用の関数。 これらの関数は、Azure Databricksに管理された研究に基づくシステムによって支えられています。 一部の関数には UI エクスペリエンスが含まれます。 サポートされている関数とモデルについては、 タスク固有の AI 関数 を参照してください。
  • ai_query — タスクとモデルの柔軟性のための汎用関数。 プロンプトを表示し、サポートされている Foundation Model API を選択します。 「ai_queryの使用」を参照してください。

タスク固有の AI 関数とai_queryのデシジョン ツリー

タスク固有の AI 関数

タスク固有の関数は特定のタスクを対象としているため、エンティティの抽出、翻訳、分類などのルーチン変換を自動化できます。 Databricks では、Databricks によって維持される最先端の研究手法を呼び出し、カスタマイズを必要としないため、これらの関数の使用を開始することをお勧めします。

例については、 AI Functions を使用した顧客レビューの分析 を参照してください。

次の表に、サポートされている関数と、それらが実行するタスクを示します。

機能 説明
ai_parse_document 最新の研究技術を使用して、非構造化ドキュメントから構造化されたコンテンツ (テキスト、テーブル、図の説明) とレイアウトを解析します。
ai_extract 定義したスキーマを使用して、ドキュメントまたはテキストから構造化フィールドを抽出します。
ai_classify 最先端の研究手法を使用して、指定したラベルに従って入力テキストを分類します。
AI感情分析 最先端の生成 AI モデルを使用して、入力テキストに対して感情分析を実行します。
AIによる文法修正 最先端の生成 AI モデルを使用して、テキストの文法エラーを修正します。
ai_gen 最先端の生成 AI モデルを使用して、ユーザーが指定したプロンプトに応答します。
ai_mask 最先端の生成 AI モデルを使用して、指定されたエンティティをテキストでマスクします。
ai_parse_document 最先端の生成 AI モデルを使用して、構造化されていないドキュメントから構造化コンテンツを抽出します。
ai_prep_search 解析されたドキュメント出力を、ベクター検索と RAG パイプライン用に最適化された検索対応チャンクに変換します。
ai_query タスク固有の関数が提供する機能を超えるタスク用の汎用 AI 関数。 カスタム プロンプトを指定し、サポートされている任意の Foundation Model API モデルを選択します。
ai_similarity 最先端の生成 AI モデルを使用して、2 つの文字列を比較し、セマンティック類似性スコアを計算します。
ai_summarize SQL と最先端の生成 AI モデルを使用して、テキストの概要を生成します。
ai_translate 最先端の生成 AI モデルを使用して、テキストを指定されたターゲット言語に翻訳します。
ai_forecast 指定した期間までのデータを予測します。 このテーブル値関数は、時系列データを将来に推定するように設計されています。
vector_search 最先端の生成 AI モデルを使用して 、モザイク AI ベクター検索 インデックスを検索してクエリを実行します。

運用ワークフローで AI 関数を使用する

大規模なバッチ推論では、タスク固有の AI 関数、または汎用関数 ai_query を、Lakeflow Spark 宣言パイプライン、Databricks ワークフロー、構造化ストリーミングなどの運用ワークフローに統合できます。 これにより、大規模な生産グレードの処理が可能になります。

運用環境での AI 関数のベスト プラクティス:

AI Functions がワークロードを大規模に処理できるようにします。 AI Functions は、並列処理、再試行、スケーリングを自動的に管理します。 手動で小さなバッチに分割するのではなく、1 つのクエリで完全なデータセットを送信することをお勧めします。 パフォーマンスは、非常に小さなワークロードから大規模なワークロードに線形的にスケーリングされない場合があります。

Databricks でホストされる基盤モデルを使用する: ai_query AI 関数を使用する場合は、プロビジョニングされたスループットではなく、Databricks でホストされる基盤モデル (プレフィックスとして databricks-) を使用します。 これらのプロビジョニングなしのエンドポイントはフル マネージドであり、バッチ処理に最適です。

例と詳細については、 バッチ推論パイプラインのデプロイ に関するページを参照してください。

AI Functions の進行状況を監視する

完了または失敗した推論の数を理解し、パフォーマンスのトラブルシューティングを行うには、クエリ プロファイル機能を使用して AI Functions の進行状況を監視できます。

Databricks Runtime 16.1 ML 以降では、ワークスペースの SQL エディター クエリ ウィンドウから次の手順を実行します。

  1. リンクを選択し、[未加工の結果] ウィンドウの下部にある [実行---] を選択します。 右側に パフォーマンス ウィンドウが表示されます。
  2. [ クエリ プロファイルの表示 ] をクリックして、パフォーマンスの詳細を表示します。
  3. [ AI クエリ ] をクリックすると、完了した推論と失敗した推論の数、要求の完了にかかった合計時間など、その特定のクエリのメトリックが表示されます。

AI 関数ワークロードのコストを表示する

AI 関数のコストは、MODEL_SERVING オファリングの種類の下にBATCH_INFERENCE製品の一部として記録されます。 クエリの例については、「 バッチ推論ワークロードのコストを表示 する」を参照してください。

ai_parse_documentai_extract、およびai_classifyコストは、AI_FUNCTIONS製品の一部として記録されます。 クエリの例については、「ai_parse_document実行のコストを表示する」を参照してください。

バッチ推論ワークロードのコストを表示する

次の例は、ジョブ、コンピューティング、SQL ウェアハウス、Lakeflow Spark 宣言パイプラインに基づいてバッチ推論ワークロードをフィルター処理する方法を示しています。

AI Functions を使用するバッチ推論ワークロードのコストを表示する方法の一般的な例については、「 モデル サービス コストの監視」 を参照してください。

Jobs

次のクエリは、 system.workflow.jobs システム テーブルを使用したバッチ推論に使用されているジョブを示しています。 システム・テーブルを使用したジョブ・コストとパフォーマンスのモニターを参照してください。


SELECT *
FROM system.billing.usage u
  JOIN system.workflow.jobs x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.job_id = x.job_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Compute

次に、 system.compute.clusters システム テーブルを使用したバッチ推論に使用されているクラスターを示します。

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Lakeflow Spark 宣言型パイプライン

次に、 system.lakeflow.pipelines システム テーブルを使用したバッチ推論に使用されている Lakeflow Spark 宣言パイプラインを示します。

SELECT *
FROM system.billing.usage u
  JOIN system.lakeflow.pipelines x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.dlt_pipeline_id = x.pipeline_id
  WHERE u.usage_metadata.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

SQL Warehouse

次に、 system.compute.warehouses システム テーブルを使用したバッチ推論に使用されている SQL ウェアハウスを示します。

SELECT *
FROM system.billing.usage u
  JOIN system.compute.clusters x
    ON u.workspace_id = x.workspace_id
    AND u.usage_metadata.cluster_id = x.cluster_id
  WHERE u.workspace_id = <workspace_id>
    AND u.billing_origin_product = "MODEL_SERVING"
    AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

ai_parse_document実行にかかるコストを表示する

次の例は、課金システム テーブルにクエリを実行して、 ai_parse_document 実行のコストを表示する方法を示しています。


SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
  AND u.billing_origin_product = "AI_FUNCTIONS"
  AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";