Databricks AI関数を用いてデータにAIを適用する
プレビュー
この機能は パブリック プレビュー 段階であり、 us-east1
と us-central1
でサポートされています。
この記事では、 Databricks AI 関数 とサポートされている関数について説明します。
AI 関数とは何ですか?
AI関数には、 Databricksに保存されているデータにテキスト翻訳や感情分析などのAI 関数 を適用するために使用できる組み込み関数があります。Databricks SQL、ノートブック、Delta Live Tables、ワークフローなど、Databricks のどこからでも実行できます。
AI 関数は、使いやすく、高速で、スケーラブルです。アナリストはそれらを使用して独自のデータにデータインテリジェンスを適用でき、 データサイエンティストおよび機械学習エンジニアはそれらを使用して本番運用グレードのバッチパイプラインを構築できます。
AI 関数は、汎用機能とタスク固有の機能を提供します。
ai_query
は、データに任意のタイプの AI モデルを適用できる汎用関数です。汎用関数:ai_query
を参照してください。- タスク固有の関数は、テキストの要約や翻訳などのタスクに高レベルの AI 機能を提供します。 これらのタスク固有の機能は、 によってホストおよび管理される最先端の生成AI Databricksモデルによって強化されています。サポートされている関数とモデルについては 、タスク固有の AI 関数 を参照してください。
汎用機能: ai_query
ai_query()
関数を用いることで、情報の抽出、コンテンツの要約、不正の特定、収益の予測など、生成AIタスクと従来のMLタスクの両方のデータに任意のAIモデルを適用できます。
次の表は、サポートされているモデルの種類、関連付けられているモデル、およびそれらの要件をまとめたものです。
タイプ | サポートされているモデル | 要件 |
---|---|---|
Databricks でホストされる基盤モデル |
| エンドポイントのプロビジョニングや設定は必要ありません。 |
微調整された基盤モデル | Mosaic AI Model Serving にデプロイされた微調整された基盤モデル | モデルサービングで プロビジョニング スループット エンドポイントを作成する必要があります。 「カスタムモデルを使用したバッチ推論」または「ファインチューンされた基盤モデル」を参照してください。 |
Databricks の外部でホストされている基盤モデル | 外部モデルを使用して使用可能なモデル。Databricks の外部でホストされている基盤モデルにアクセスするを参照してください。 | |
従来の ML モデルと DL モデルのカスタマイズ | 従来の ML または DL モデル(scikit-learn、xgboost、PyTorch など) |
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 モデル (完全カスタムモデルを含む) をサポートします。これらのモデルは、モデルサービングエンドポイントにデプロイする必要があります。構文の詳細とパラメーターについては、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が管理する最先端の生成AIモデルを呼び出し、カスタマイズは必要ありません。
例については、AI関数を使用して顧客レビューを分析するを参照してください。
次の表に、サポートされている関数と、それぞれが実行するタスクを示します。
関数 | 説明 |
---|---|
最先端の生成AIモデルを使用して、入力テキストに対して感情分析を実行します。 | |
入力テキストは、最先端の生成AIモデルを使用して、提供するラベルに従って分類します。 | |
ラベルで指定されたエンティティを、最先端の生成AIモデルを使用してテキストから抽出します。 | |
最先端の生成AIモデルを使用して、テキストの文法エラーを修正します。 | |
ユーザーが提供するプロンプトに、最先端の生成AIモデルを使用して回答します。 | |
最先端の生成AIモデルを使用して、テキスト内の指定されたエンティティをマスクします。 | |
2つの文字列とコンピュートを最先端の生成AI モデルを使用して意味的類似性スコアと比較します。 | |
SQLと最先端の生成AIモデルを使用してテキストの要約を生成します。 | |
最先端の生成AIモデルを使用して、テキストを指定されたターゲット言語に翻訳します。 | |
指定した期間までのデータを予測します。このテーブル値関数は、時系列データを将来に外挿するように設計されています。 | |
最先端の生成AI モデルを使用して、 Mosaic AI Vector Searchインデックスを検索およびクエリします。 |
既存の 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_query
は Databricks ワークフローや構造化ストリーミングなどの本番運用ワークフローと統合できます。 これにより、本番運用グレードの処理を大規模に行うことができます。 詳細については、AI関数を使用したバッチLLM 推論の実行を参照してください。
AI関数の進行状況を監視する
完了した推論または失敗した推論の数を把握し、パフォーマンスのトラブルシューティングを行うには、クエリプロファイル機能を使用して AI 関数の進行状況をモニタリングできます。
ワークスペースの SQL エディターのクエリ ウィンドウから次の手順を実行します。
- Raw results ウィンドウの下部にある Running--- リンクを選択します。 右側にパフォーマンス ウィンドウが表示されます。
- 「 クエリ・プロファイルの表示 」をクリックして、パフォーマンスの詳細を表示します。
- AI Query をクリックすると、その特定のクエリのメトリクス (完了した推論と失敗した推論の数、リクエストの完了にかかった合計時間など) が表示されます。