Important
この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Azure Databricks プレビューの管理を参照してください。
この記事では、Agent Bricks: Custom LLM を使用して、カスタム テキスト ベースのタスク用の生成 AI エージェントを作成する方法について説明します。
Agent Bricks は、一般的な AI ユース ケース用にドメイン固有の高品質の AI エージェント システムを構築および最適化するための簡単なアプローチを提供します。
カスタム LLM でできること
Agent Bricks: Custom LLM を使用して、集計、分類、テキスト変換、コンテンツ生成など、ドメイン固有のタスクに対して高品質の結果を生成します。
エージェント Bricks: カスタム LLM は、次の使用例に最適です。
- 顧客の通話の問題と解決の概要。
- 顧客レビューのセンチメントの分析。
- 研究論文をトピック別に分類する。
- 新機能のプレス リリースの生成。
高度な手順と例を考えると、Agent Bricks: Custom LLM はユーザーに代わってプロンプトを最適化し、評価基準を自動的に推論し、提供されたデータからシステムを評価し、モデルを運用可能なエンドポイントとしてデプロイします。
Agent Bricks: カスタム LLM では、MLflow や エージェント評価などの自動評価機能を活用して、特定の抽出タスクのコスト品質のトレードオフを迅速に評価できます。 この評価により、精度とリソース投資のバランスに関する情報に基づいた意思決定を行うことができます。
Agent Bricks では 、既定のストレージ を使用して、一時的なデータ変換、モデル チェックポイント、および各エージェントを機能させる内部メタデータを格納します。 エージェントの削除時に、エージェントに関連付けられているすべてのデータが既定のストレージから削除されます。
Requirements
- 次を含むワークスペース:
- Mosaic AI Agent Bricks Preview (Beta) が有効になっています。 Azure Databricks プレビューの管理を参照してください。
- サーバーレス コンピューティングが有効になっている。 サーバーレス コンピューティング要件を参照してください。
- Unity カタログが有効になっている。 「Unity Catalog のワークスペースを有効にする」を参照してください。
- サポートされているリージョンの 1 つ (
centralus、eastus、eastus2、northcentralus、southcentralus) のワークスペース。westusまたはwestus2。 - モザイク AI モデル サービスへのアクセス。
-
system.aiスキーマを使用して Unity カタログの基礎モデルにアクセスします。 - 0 以外の予算を持つ サーバーレス予算ポリシー へのアクセス。
-
ai_querySQL 関数を使用する機能。 - 入力データを使用する準備ができている必要があります。 次のいずれかを指定できます。
- Unityカタログテーブル。 テーブル名に特殊文字 (
-など) を含めることはできません。- PDF を使用する場合は、それらを Unity カタログ テーブルに変換します。 「エージェント ブリックで PDF を使用する」を参照してください。
- 少なくとも 3 つの入力と出力の例。 このオプションを選択する場合は、エージェントの Unity カタログ スキーマの宛先パスを指定する必要があります。また、CREATE REGISTERED MODEL と、このスキーマに対する CREATE TABLE アクセス許可が必要です。
- Unityカタログテーブル。 テーブル名に特殊文字 (
- エージェントを最適化する場合は、少なくとも 100 個の入力 (Unity カタログ テーブル内の 100 行または手動で指定された 100 個の例) が必要です。
カスタム LLM エージェントを作成する
ワークスペースの左側のナビゲーション ウィンドウにあるエージェント。
[カスタム LLM] タイルで、[ビルド] をクリックします。
手順 1: エージェントを構成する
[ビルド] タブで、[>例を表示] をクリックして、カスタム LLM エージェントの入力とモデル応答の例を展開します。
次のウィンドウで、エージェントを構成します。
[ タスクの説明] で、目的や目的の結果など、特殊化タスクの明確で詳細な説明を入力します。
ラベル付きデータセット、ラベル付けされていないデータセット、またはエージェントの作成に使用する例をいくつか指定します。
PDF を使用する場合は、最初に Unity カタログ テーブルに変換します。 「エージェント ブリックで PDF を使用する」を参照してください。
サポートされているデータ型は、
string、int、doubleです。ラベル付きデータセット
[ラベル付きデータセット] を選択した場合:
[ データセットを UC テーブルとして選択] で、[ 参照 ] をクリックして、使用する Unity カタログ内のテーブルを選択します。 テーブル名に特殊文字 (
-など) を含めることはできません。以下に例を示します。
main.model_specialization.customer_call_transcripts[ 入力列 ] フィールドで、入力テキストとして使用する列を選択します。 ドロップダウン メニューには、選択したテーブルの列が自動的に設定されます。
[出力] 列で、予想される変換の出力例として指定する列を選択します。 このデータを提供すると、ドメイン固有のニーズにより正確に適応するようにエージェントを構成するのに役立ちます。
ラベル付けされていないデータセット
[ラベルなしデータセット] を選択した場合:
[ データセットを UC テーブルとして選択] で、[ 参照 ] をクリックして、使用する Unity カタログ内のテーブルを選択します。 テーブル名に特殊文字 (
-など) を含めることはできません。[ 入力列 ] フィールドで、入力テキストとして使用する列を選択します。 ドロップダウン メニューには、選択したテーブルの列が自動的に設定されます。
いくつかの例
いくつかの例を選択した場合:
- 特殊化タスクの入力と予想される出力の例を少なくとも 3 つ指定します。 高品質の例を提供することで、要件をより深く理解できるように特殊化エージェントを構成できます。
- その他の例を追加するには、[+ 追加] をクリックします。
- エージェントの宛先で、評価データを含むテーブルの作成にAgent Bricksを利用して用いるUnityカタログのスキーマを選択してください。 登録済みモデルの作成と、このスキーマに対する CREATE TABLE 権限が必要です。
エージェントに名前を付けます。
[ エージェントの作成] をクリックします。
手順 2: エージェントをビルドして改善する
[ ビルド ] タブで、推奨事項を確認してエージェントを改善し、サンプル モデルの出力を確認し、タスクの指示と評価基準を調整します。
Databricks の [推奨事項 ] ウィンドウには、サンプルの応答を適切または無効として最適化および評価するのに役立つ推奨事項が表示されます。
Databricks の [推奨事項 ] ウィンドウには、サンプルの応答を適切または無効として最適化および評価するのに役立つ推奨事項が表示されます。
- エージェントのパフォーマンスを最適化するための Databricks の推奨事項を確認します。
- フィードバックを提供して、応答を改善します。 回答ごとに、"はい" または "いいえ" と回答します。 [いいえ] の場合は、応答に関するオプションのフィードバックを提供し、[保存] をクリックして次の応答に移動します。
- 推奨事項を 無視 することもできます。
右側の [ ガイドライン] で、エージェントが適切な出力を生成するのに役立つ明確なガイドラインを設定します。 これらは、品質を自動的に評価するためにも使用されます。
- 推奨されるガイドラインを確認します。 ガイドラインの提案は、エージェントの最適化に役立つよう自動的に推測されます。 それらを絞り込んだり、削除したりできます。
- Agent Bricks は、追加のガイドラインを提案する場合があります。 [ 承諾] を選択して新しいガイドラインを追加するか、[ 拒否 ] を選択して拒否するか、テキストをクリックして最初にガイドラインを編集します。
- 独自のガイドラインを追加するには、[プラス] アイコンをクリック
追加します。
- [ 保存して更新] をクリックしてエージェントを更新します。
(省略可能)右側の [ 手順] で、タスクについて説明します。 エージェントが応答を生成するときに従う手順を追加します。 [ 保存して更新] をクリックして手順を適用します。
エージェントを更新すると、新しいサンプル応答が生成されます。 これらの応答を確認してフィードバックを提供します。
手順 3: エージェントを評価する
少数の評価結果セットを含む品質レポートが、ガイドラインから自動的に生成されます。 [品質] タブでこのレポートを 確認 します。
受け入れられる各ガイドラインは、評価メトリックとして使用されます。 生成された要求ごとに、応答はガイドラインを使用して評価され、合格/失敗の評価が提供されます。 これらの評価は、上部に表示される評価スコアを生成するために使用されます。 評価結果をクリックすると、完全な詳細が表示されます。
品質レポートを使用して、エージェントがさらに最適化が必要かどうかを判断できます。
(省略可能)エージェントを最適化する
エージェント ブリックは、コストに合わせてエージェントを最適化するのに役立ちます。 Databricks では、エージェントを最適化するために、少なくとも 100 個の入力 (Unity カタログ テーブルの 100 行または手動で指定された例 100 行) を推奨しています。 さらに入力を追加すると、エージェントが学習できるナレッジ ベースが増加し、エージェントの品質とその応答精度が向上します。
エージェントを最適化すると、Databricks は複数の異なる最適化戦略を比較して、最適化されたエージェントを構築してデプロイします。 これらの戦略には、 Databricks Geos を使用する Foundation Model の微調整が含まれます。
エージェントを最適化するには:
[ 最適化] をクリックします。
[ 最適化の開始] をクリックします。
最適化には数時間かかることがあります。 最適化が進行中の場合、現在アクティブなエージェントに変更を加えるのはブロックされます。
最適化が完了したら、現在アクティブなエージェントとコストに最適化されたエージェントの比較を確認します。
これらの結果を確認したら、[エンドポイントに最適なモデルをデプロイする] で 最適なモデルを 選択し、[ デプロイ] をクリックします。
手順 4: エージェントを使用する
Databricks 全体のワークフローでエージェントを試す。
エージェントの使用を開始するには、[ 使用] をクリックします。 次のようなオプションがあります。
[ SQL で試す ] をクリックして SQL エディターを開き、
ai_queryを使用して新しいカスタム LLM エージェントに要求を送信します。[ パイプラインの作成 ] をクリックして、スケジュールされた間隔で実行されるパイプラインをデプロイし、新しいデータでエージェントを使用します。 パイプラインの詳細については、「 Lakeflow Spark 宣言型パイプライン 」を参照してください。
[ Playground で開く ] をクリックして、 AI Playground を使用してチャット環境でエージェントをテストします。
アクセス許可の管理
既定では、エージェントに対するアクセス許可を持つのは、Agent Bricks の作成者とワークスペース管理者だけです。 他のユーザーがエージェントを編集またはクエリできるようにするには、明示的にアクセス許可を付与する必要があります。
エージェントのアクセス許可を管理するには:
- エージェント ブリックでエージェントを開きます。
- 上部にある
をクリックします。kebab メニュー。
- [ アクセス許可の管理] をクリックします。
- [ アクセス許可の設定] ウィンドウで、ユーザー、グループ、またはサービス プリンシパルを選択します。
- 付与するアクセス許可を選択します。
- 管理可能: アクセス許可の設定、エージェント構成の編集、品質の向上など、エージェント ブリックの管理を許可します。
- クエリ可能: AI Playground と API を使用して、Agent Bricks エンドポイントのクエリを実行できます。 このアクセス許可のみを持つユーザーは、Agent Bricks でエージェントを表示または編集できません。
- 追加をクリックします。
- [保存] をクリックします。
注
2025 年 9 月 16 日より前に作成されたエージェント エンドポイントの場合は、[サービス エンドポイント] ページからエンドポイントに対する Can Query アクセス許可を付与できます。
エージェント エンドポイントのクエリを実行する
エージェント ページで、[ をクリックします。 右上のエージェントの状態を参照して、デプロイされたエージェント エンドポイントを取得し、エンドポイントの詳細を表示します。
作成されたエージェント エンドポイントに対してクエリを実行する方法は複数あります。 AI Playground で提供されているコード例を出発点として使用します。
- エージェント ページで、[ 使用] をクリックします。
- [ プレイグラウンドで開く] をクリックします。
- Playground で、[ コードの取得] をクリックします。
- エンドポイントの使用方法を選択します。
- [ データに適用] を選択して、エージェントを特定のテーブル列に適用する SQL クエリを作成します。
- curl を使用してエンドポイントにクエリを実行するコード例の Curl API を 選択します。
- Python を使用してエンドポイントを操作するコード例の Python API を選択します。
エージェント ブリックで PDF を使用する
PDF は、Agent Bricks: Information Extraction と Custom LLM でネイティブにまだサポートされていません。 ただし、Agent Brick の UI ワークフローを使用して PDF ファイルのフォルダーをマークダウンに変換し、エージェントのビルド時に結果の Unity カタログ テーブルを入力として使用できます。 このワークフローでは、変換に ai_parse_document が使用されます。 次の手順に従います。
左側のナビゲーション ウィンドウで [ エージェント ] をクリックして、Databricks でエージェント ブリックを開きます。
情報抽出またはカスタム LLM ユース ケースで、[ PDF の使用] をクリックします。
開いたサイド パネルで、次のフィールドを入力して、PDF を変換する新しいワークフローを作成します。
- PDF または画像を含むフォルダーを選択する: 使用する PDF が含まれている Unity カタログ フォルダーを選択します。
- 変換先テーブルの選択: 変換されたマークダウン テーブルの変換先スキーマを選択し、必要に応じて、以下のフィールドでテーブル名を調整します。
- アクティブな SQL ウェアハウスの選択: ワークフローを実行する SQL ウェアハウスを選択します。
[ インポートの開始] をクリックします。
[ すべてのワークフロー ] タブにリダイレクトされ、すべての PDF ワークフローが一覧表示されます。 このタブは、ジョブの状態を監視する場合に使用します。
ワークフローが失敗した場合は、ジョブ名をクリックして開き、デバッグに役立つエラー メッセージを表示します。
ワークフローが正常に完了したら、ジョブ名をクリックしてカタログ エクスプローラーでテーブルを開き、列を調べて理解します。
エージェントを構成するときに、エージェント ブリックの入力データとして Unity カタログ テーブルを使用します。
Limitations
- Databricks では、エージェントを最適化するために、少なくとも 100 個の入力 (Unity カタログ テーブルの 100 行または手動で提供されたサンプル 100 行) を推奨しています。 さらに入力を追加すると、エージェントが学習できるナレッジ ベースが増加し、エージェントの品質とその応答精度が向上します。
- Unity カタログ テーブルを指定した場合、テーブル名に特殊文字 (
-など) を含めることはできません。 - 入力としてサポートされているデータ型は、
string、int、doubleのみです。 - 現在、使用容量は 1 分あたり 100,000 個の入力トークンと出力トークンに制限されています。
- セキュリティ強化とコンプライアンスが有効になっているワークスペースはサポートされていません。
- アクセス モードが制限されたサーバーレス エグレス制御ネットワーク ポリシーがあるワークスペースや、ワークスペース ストレージ アカウントのファイアウォール サポートを有効にしているワークスペースでは、最適化が失敗する可能性があります。