重要
この機能はパブリック プレビュー段階にあります。
この記事では、Azure Databricks AI Functions とサポートされる関数について説明します。
AI 関数とは
AI 関数は、Databricks に格納されているデータに、テキスト翻訳や感情分析などの AI を適用するために使用できる組み込みの関数です。 Databricks SQL、ノートブック、Lakeflow 宣言パイプライン、ワークフローなど、Databricks 上のどこからでも実行できます。
AI Functions は、使いやすく、高速でスケーラブルです。 アナリストはこれらを使用して独自のデータにデータ インテリジェンスを適用できます。一方、データ サイエンティストや機械学習エンジニアは、それらを使用して運用グレードのバッチ パイプラインを構築できます。
AI Functions は、汎用およびタスク固有の関数を提供します。
-
ai_query
は、任意の種類の AI モデルをデータに適用できる汎用関数です。 汎用関数:ai_query
を参照してください。 - タスク固有の関数は、テキストの要約や翻訳などのタスクに対して高度な AI 機能を提供します。 これらのタスク固有の関数は、Databricks によってホストおよび管理される最先端の生成 AI モデルを利用します。 サポートされている関数とモデルについては、 タスク固有の AI 関数 を参照してください。
汎用関数: ai_query
ai_query()
関数を使用すると、情報の抽出、コンテンツの要約、不正行為の特定、収益の予測など、生成型 AI タスクと従来の ML タスクの両方のデータに任意の AI モデルを適用できます。 構文の詳細とパラメーターについては、 ai_query
関数を参照してください。
次の表は、サポートされているモデルの種類、関連するモデル、および各エンドポイント構成要件に対応するモデルをまとめたものです。
タイプ | サポートされているモデル | 必要条件 |
---|---|---|
AI Functions 用に最適化された Databricks ホスト型基盤モデル | バッチ推論シナリオと運用ワークフローの使用を開始する場合は、次のモデルをお勧めします。
他の Databricks でホストされるモデルは、AI Functions で使用できますが、大規模なバッチ推論運用ワークフローには推奨されません。 |
この機能を使用するには、Databricks Runtime 15.4 LTS 以降が必要です。 エンドポイントのプロビジョニングや構成は必要ありません。 これらのモデルの使用には、 該当するモデル開発者ライセンスと使用条件、 および AI Functions リージョンの可用性が適用されます。 |
微調整された基礎モデル | モザイク AI モデル サービスにデプロイされた微調整された基盤モデル | モデル サービスで プロビジョニング済みスループット エンドポイントを作成 する必要があります。
ai_query およびカスタムまたは微調整された基盤モデルを参照してください。 |
Databricks の外部でホストされている基盤モデル | 外部モデルを使用して利用可能なモデル。 Databricks の外部でホストされている Access 基盤モデルを参照してください。 | エンドポイントを提供する外部モデルを作成する必要があります。 |
従来のカスタム ML および DL モデル | scikit-learn、xgboost、PyTorch などの従来の ML または DL モデル | カスタム モデル サービス エンドポイントを作成する必要があります。 |
基礎モデルでai_queryを使用する
次の例では、Databricks によってホストされる基盤モデルを使用して ai_query
を使用する方法を示します。
- 構文の詳細とパラメーターについては、
ai_query
関数を参照してください。 - 高度なユース ケースのパラメーターを構成する方法のガイダンスについては、高度なシナリオの例を参照してください。
SELECT text, ai_query(
"databricks-meta-llama-3-3-70b-instruct",
"Summarize the given text comprehensively, covering key points and main ideas concisely while retaining relevant details and examples. Ensure clarity and accuracy without unnecessary repetition or omissions: " || text
) AS summary
FROM uc_catalog.schema.table;
従来の ML モデルで ai_query
を使用する
ai_query
は、完全にカスタムの ML モデルを含む従来の ML モデルをサポートしています。 これらのモデルは、Model Serving エンドポイントにデプロイする必要があります。 構文の詳細とパラメーターについては、関数関数ai_query
参照してください。
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
LIMIT 10
タスク固有の AI 関数
タスク固有の関数は特定のタスクを対象としているため、簡単なサマリーやクイック翻訳などの日常的なアクションを自動化できます。 Databricks では、Databricks によって管理されている最新の生成 AI モデルを呼び出し、カスタマイズを必要としないため、これらの関数を開始することをお勧めします。
例については、 AI Functions を使用した顧客レビューの分析 を参照してください。
次の表に、サポートされている関数と、各関数が実行するタスクを示します。
機能 | 説明 |
---|---|
AI感情分析 | 最先端の生成 AI モデルを使用して、入力テキストに対して感情分析を実行します。 |
ai_classify | 最先端の生成 AI モデルを使用して、指定したラベルに従って入力テキストを分類します。 |
ai_extract | 最先端の生成 AI モデルを使用して、テキストからラベルによって指定されたエンティティを抽出します。 |
AIによる文法修正 | 最先端の生成 AI モデルを使用して、テキストの文法エラーを修正します。 |
ai_gen | 最先端の生成 AI モデルを使用して、ユーザーが指定したプロンプトに応答します。 |
ai_mask | 最先端の生成 AI モデルを使用して、指定されたエンティティをテキストでマスクします。 |
ai_similarity | 最先端の生成 AI モデルを使用して、2 つの文字列を比較し、セマンティック類似性スコアを計算します。 |
ai_summarize | SQL と最先端の生成 AI モデルを使用して、テキストの概要を生成します。 |
ai_translate | 最先端の生成 AI モデルを使用して、テキストを指定されたターゲット言語に翻訳します。 |
ai_forecast | 指定した期間までのデータを予測します。 このテーブル値関数は、時系列データを将来に推定するように設計されています。 |
vector_search | 最先端の生成 AI モデルを使用して 、モザイク AI ベクター検索 インデックスを検索してクエリを実行します。 |
既存の Python ワークフローで AI 関数を使用する
AI 関数は、既存の Python ワークフローに簡単に統合できます。
次に、 ai_query
の出力を出力テーブルに書き込みます。
df_out = df.selectExpr(
"ai_query('databricks-meta-llama-3-3-70b-instruct', CONCAT('Please provide a summary of the following text: ', text), modelParameters => named_struct('max_tokens', 100, 'temperature', 0.7)) as summary"
)
df_out.write.mode("overwrite").saveAsTable('output_table')
次に、要約されたテキストをテーブルに書き込みます。
df_summary = df.selectExpr("ai_summarize(text) as summary")
df_summary.write.mode('overwrite').saveAsTable('summarized_table')
運用ワークフローで AI 関数を使用する
大規模なバッチ推論では、タスク固有の AI 関数、または汎用関数 ai_query
を、Lakeflow 宣言型パイプライン、Databricks ワークフロー、構造化ストリーミングなどの運用ワークフローに統合できます。 これにより、大規模な生産グレードの処理が可能になります。 例と詳細については、「 AI Functions を使用したバッチ LLM 推論の実行 」を参照してください。
AI Functions の進行状況を監視する
完了または失敗した推論の数を理解し、パフォーマンスのトラブルシューティングを行うには、クエリ プロファイル機能を使用して AI 関数の進行状況を監視できます。
Databricks Runtime 16.1 ML 以降では、ワークスペースの SQL エディター クエリ ウィンドウから次の手順を実行します。
- リンクを選択し、[未加工の結果] ウィンドウの下部にある [実行---] を選択します。 右側に パフォーマンス ウィンドウが表示されます。
- [ クエリ プロファイルの表示 ] をクリックして、パフォーマンスの詳細を表示します。
- [ AI クエリ ] をクリックすると、完了した推論と失敗した推論の数、要求の完了にかかった合計時間など、その特定のクエリのメトリックが表示されます。