この手順でできること
- ai_query の書き方が分かる
- SQL だけで、生成 AI による大量のデータ処理ができることを確かめる
用意するもの
- Unity Catalog が使える Databricks のワークスペース
- Databricks SQL のウェアハウス(Classic では使えません)
- 使うモデルのエンドポイントに対する CAN QUERY の権限
- 書き込める Unity Catalog のカタログとスキーマ
手順
一、練習用のテーブルを作る
SQL エディタで、お問い合わせを3件入れたテーブルを作ります。main.default の部分は、書き込めるカタログとスキーマに置き換えます。
CREATE OR REPLACE TABLE main.default.inquiries AS SELECT * FROM VALUES (1, 'ログインしようとすると、パスワードが違うと表示されます。'), (2, '請求書の宛名を会社名に変更したいです。'), (3, 'ダッシュボードの読み込みが、昨日から遅くなっています。') AS t(id, body);二、使えるモデルの名前を確かめる
基盤モデルのエンドポイントは「system.ai.モデル名」の形で用意されています。使える Claude のモデルと正しい名前は、ワークスペースの Serving の画面で確かめます。以下の例の system.ai.claude-opus-5 は、公式の一覧に載っていた名前の例です。
三、ai_query で分類する
ai_query の1つ目にエンドポイントの名前、2つ目に指示の文章を渡します。指示に列の値をつなげると、行ごとに処理されます。
SELECT id, body, ai_query( 'system.ai.claude-opus-5', '次のお問い合わせを「アカウント」「請求」「性能」「その他」のどれか1つに分類し、分類名だけを答えてください。\n\n' || body ) AS category FROM main.default.inquiries;
うまくいったかの確かめ方
- category の列に、行ごとの分類(例: 1 はアカウント、2 は請求、3 は性能)が入る
つまずきどころ
- SQL Classic のウェアハウスでは使えません。Pro かサーバーレスを使います。
- 行の数だけモデルを呼ぶので、大きなテーブルでいきなり試すと費用がかさみます。まず LIMIT で件数を絞ります。
- 答えの形をそろえたいときは、responseFormat で構造化した出力を指定できます(Databricks Runtime 15.4 以上)。
後片付け
- DROP TABLE main.default.inquiries; で練習用のテーブルを削除します。
公式の情報
- 公式ドキュメントai_query 関数(新しいタブで開きます)
- 公式ドキュメントDatabricks で使えるモデル(新しいタブで開きます)