Important
この機能は ベータ版です。 ワークスペース管理者は、[ プレビュー] ページからこの機能へのアクセスを制御できます。 Azure Databricks プレビューの管理を参照してください。
このページでは、Agent Bricks: Information Extraction を使用して情報抽出用の生成 AI エージェントを作成する方法について説明します。
Agent Bricks は、一般的な AI ユース ケース用にドメイン固有の高品質の AI エージェント システムを構築するための簡単なアプローチを提供します。
エージェント ブリックス: 情報抽出とは何か
Agent Bricks は、情報の抽出をサポートし、ラベル付けされていない大量のテキスト ドキュメントを、ドキュメントごとに抽出された情報を含む構造化テーブルに変換するプロセスを簡略化します。
情報抽出の例を次に示します。
- 契約から価格とリース情報を抽出する。
- 顧客のメモからのデータを整理する。
- ニュース記事から重要な詳細を取得します。
エージェント ブリックス: 情報抽出は、MLflow や エージェント評価を含む自動評価機能を活用して、特定の抽出タスクにおけるコストと品質の兼ね合いを迅速に評価することができます。 この評価により、精度とリソース投資のバランスに関する情報に基づいた意思決定を行うことができます。
Agent Bricks では 、既定のストレージ を使用して、一時的なデータ変換、モデル チェックポイント、および各エージェントを機能させる内部メタデータを格納します。 エージェントの削除時に、エージェントに関連付けられているすべてのデータが既定のストレージから削除されます。
Requirements
- 次を含むワークスペース:
- Mosaic AI Agent Bricks Preview (Beta) が有効になっています。 Azure Databricks プレビューの管理を参照してください。
- サーバーレス コンピューティングが有効になっている。 サーバーレス コンピューティング要件を参照してください。
- Unity カタログが有効になっている。 「Unity Catalog のワークスペースを有効にする」を参照してください。
- サポートされているリージョンの 1 つ (
centralus、eastus、eastus2、northcentralus、southcentralus) のワークスペース。westusまたはwestus2。 -
system.aiスキーマを使用して Unity カタログの基礎モデルにアクセスします。 - 0 以外の予算を持つ サーバーレス予算ポリシー へのアクセス。
-
ai_querySQL 関数を使用する機能。 - データを抽出するファイル。 ファイルは、Unity カタログのボリュームまたはテーブル内にある必要があります。
- PDF を使用する場合は、最初に Unity カタログ テーブルに変換します。 「エージェント ブリックで PDF を使用する」を参照してください。
- エージェントをビルドするには、Unity カタログ ボリュームに少なくとも 1 つのラベル付けされていないドキュメント、またはテーブル内の 1 行が必要です。
情報抽出エージェントを作成する
ワークスペースの左側のナビゲーション ウィンドウにあるエージェント。 [ 情報抽出 ] タイルで、[ ビルド] をクリックします。
手順 1: エージェントを構成する
エージェントを設定します。
[ 名前 ] フィールドに、エージェントの名前を入力します。
指定するデータの種類を選択します。 ラベル付けされていないデータセットまたはラベル付きデータセットを選択できます。
指定するデータセットを選択します。
ラベル付けされていないデータセット
[ラベルなしデータセット] を選択した場合:
[ データセットの場所 ] フィールドで、Unity カタログ ボリュームから使用するフォルダーまたはテーブルを選択します。 フォルダーを選択する場合、フォルダーには サポートされているドキュメント形式のドキュメントが含まれている必要があります。
ボリュームの例を次に示します。
/Volumes/main/info-extraction/bbc_articles/テーブルを指定する場合は、ドロップダウンからテキスト データを含む列を選択します。 テーブル列には、 サポートされているデータ形式のデータが含まれている必要があります。
PDF を使用する場合は、最初に Unity カタログ テーブルに変換します。 「エージェント ブリックで PDF を使用する」を参照してください。
Agent Bricks は、サンプル JSON 出力フィールドでデータセットから抽出されたデータを含む サンプル JSON 出力 を自動的に推論して生成します。 サンプル出力を受け入れるか、編集するか、目的の JSON 出力の例に置き換えることができます。 エージェントは、この形式を使用して抽出された情報を返します。
ラベル付きデータセット
[ラベル付きデータセット] を選択した場合:
- [ Ground truths dataset ] フィールドで、グラウンド トゥルース データを含む Unity カタログ テーブルを選択します。
- [ 入力列 ] フィールドで、エージェントで処理するテキストを含む列を選択します。 この列のデータは、
str形式である必要があります。 - Ground truth response 列 フィールドで、予想される理想的な応答を含む列を選択します。 この列のデータは JSON 文字列である必要があります。 この列の各行は、同じ JSON 形式に従う必要があります。 追加のキーまたは不足しているキーを含む行は受け入れできません。
- [サンプル JSON 出力] フィールドでは、Agent Bricks は、グラウンド トゥルース応答列のデータの最初の行を使用してサンプル JSON 出力を自動的に生成します。 この JSON 出力が予想される形式と一致するかどうかを確認します。
サンプル JSON 出力フィールドが目的の応答形式と一致することを確認します。 必要に応じて編集します。
たとえば、次のサンプル JSON 出力を使用して、ニュース記事のセットから情報を抽出できます。
{ "title": "Economy Slides to Recession", "category": "Politics", "paragraphs": [ { "summary": "GDP fell by 0.1% in the last three months of 2004.", "word_count": 38 }, { "summary": "Consumer spending had been depressed by one-off factors such as the unseasonably mild winter.", "word_count": 42 } ], "tags": ["Recession", "Economy", "Consumer Spending"], "estimate_time_to_read_min": 1, "published_date": "2005-01-15", "needs_review": false }[ モデルの選択] で、情報抽出エージェントに最適なモデルを選択します。
- スケールの最適化 (既定): 大量のデータを処理する場合、またはコスト効率の高いエージェントを使用する場合は、このオプションを選択します。 このモデルは高いスループットおよびより速い応答時間のために設計され、ほとんどの情報抽出の仕事のために適している。
- 複雑さの最適化: 複雑な推論が必要な場合は、このオプションを選択し、速度とコストよりも精度を優先します。 このモデルは、より長いドキュメント (財務報告など) に対してより高い推論機能を提供し、より複雑な抽出 (40 以上のスキーマ フィールドの抽出など) を処理できます。
[ エージェントの作成] をクリックします。
サポートされているドキュメント形式
次の表に、Unity カタログ ボリュームを指定する場合のソース ドキュメントでサポートされているドキュメント ファイルの種類を示します。
| コード ファイル | ドキュメント ファイル | ログ ファイル |
|---|---|---|
|
|
|
サポートされているデータ形式
Agent Bricks: Information Extraction では、Unity カタログ テーブルを指定する場合、ソース ドキュメントの次のデータ型とスキーマがサポートされます。 エージェント ブリックは、各ドキュメントからこれらのデータ型を抽出することもできます。
strintfloatboolean-
enum(エージェントが定義済みのカテゴリからのみ選択する必要がある分類タスクに使用されます) - Object
- 配列
enum(エージェントが定義済みのカテゴリセットからのみ出力する分類タスクに適しています)、object(「カスタム入れ子フィールド」の代わり)、配列
手順 2: エージェントを改善する
[ ビルド ] タブで、サンプル出力を確認してスキーマ定義を調整し、より良い結果を得るための手順を追加します。
左側で、サンプルの応答を確認してフィードバックを行い、エージェントの調整に役立てます。 これらのサンプルは、現在のエージェント構成に基づいています。
- 行をクリックして、完全な入力と応答を確認します。
- 下部にある [
この応答は正しいですか? ] の横で、[ を選択して「はい」と返答するか、いいねアイコン [Fix it feedabck]\(修正\) では、エージェントが応答を変更する方法に関する追加の詳細を指定し、[チェック] アイコンをクリック ] を選択して「修正してください」とフィードバックを提供します。ダメアイコン 保存します。
- すべての回答の確認が完了したら、[確認] アイコンをクリック
はい。エージェントを更新します。 または、少なくとも 3 つの回答を確認した後、[ フィードバックと更新の保存 ] をクリックすることもできます。
右側の [出力] フィールドで、抽出スキーマ フィールドの説明を絞り込みます。 エージェントが抽出したい内容を理解するために依存するものがこれらの説明です。 左側のサンプル応答を使用して、スキーマ定義を調整します。
- 各フィールドについて、必要に応じてスキーマ定義を確認および編集します。 左側のサンプル応答を使用して、これらの説明を絞り込むことができます。
- フィールド名と入力を編集するには、[
フィールドを編集します。
- 新しいフィールドを追加するには、[プラス] アイコンをクリック
新しいフィールドを追加します。 名前、タイプ、説明を入力し、[確認] をクリックします。
- フィールドを削除するには、[
フィールドを削除します。
- [ 保存して更新] をクリックして、エージェントの構成を更新します。
(省略可能)右側の [ 手順] で、エージェントのグローバルな手順を入力します。 これらの手順は、抽出されたすべての要素に適用されます。 [ 保存して更新] をクリックして手順を適用します。
左側に新しいサンプル応答が生成されます。 これらの更新された応答を確認し、応答が満足できるまでエージェント構成を調整し続けます。
手順 3: エージェントを使用する
Databricks 全体のワークフローでエージェントを使用できます。
エージェントの使用を開始するには、[ 使用] をクリックします。 エージェントを使用する方法は、次のいくつかの方法で選択できます。
-
すべてのドキュメントのデータを抽出する: [ 抽出の開始 ] をクリックして SQL エディターを開き、
ai_queryを使用して新しい情報抽出エージェントに要求を送信します。 - ETL パイプラインの作成: [ パイプラインの作成 ] をクリックして、スケジュールされた間隔で実行されるパイプラインをデプロイし、新しいデータでエージェントを使用します。 パイプラインの詳細については、「 Lakeflow Spark 宣言型パイプライン 」を参照してください。
- エージェントをテストする: [ Playground で開く ] をクリックして、テスト環境でエージェントを試して動作を確認します。 AI Playground の詳細については、LLM とのチャットと AI Playground を使用した生成 AI アプリのプロトタイプ作成に関するページを参照してください。
(省略可能)手順 4: エージェントを評価する
高品質のエージェントを確実に構築するには、評価を実行し、結果の品質レポートを確認します。
[品質] タブに切り替えます。
[
評価を実行します。
スライドアウトする [新しい評価 ] ウィンドウで、評価を構成します。
- 評価実行名を選択します。 生成された名前を使用するか、カスタム名を指定することもできます。
- 評価データセットを選択します。 エージェントの構築に使用するのと同じソース データセットを使用するか、ラベル付けされたデータまたはラベル付けされていないデータを使用してカスタム評価データセットを提供することを選択できます。
[ 評価の開始] をクリックします。
評価の実行が完了したら、品質レポートを確認します。
既定では、概要ビューが表示されます。 評価メトリックの全体的な品質、コスト、スループット、および概要レポートを確認します。 [
をクリックします。スキーマ フィールドの横にあるフィールドの評価方法を確認します。
詳細ビューに切り替えて、詳細を表示します。 このビューには、各要求と各メトリックの評価スコアが表示されます。 要求をクリックすると、入力、出力、評価、トレース、リンクされたプロンプトなどの追加の詳細が表示されます。 要求の評価を編集し、追加のフィードバックを提供することもできます。
エージェント エンドポイントのクエリを実行する
エージェント ページで、[ をクリックします。 右上のエージェントの状態を参照して、デプロイされたエージェント エンドポイントを取得し、エンドポイントの詳細を表示します。
作成されたエージェント エンドポイントに対してクエリを実行する方法は複数あります。 AI Playground で提供されているコード例を出発点として使用します。
- エージェント ページで、[ 使用] をクリックします。
- [ プレイグラウンドで開く] をクリックします。
- Playground で、[ コードの取得] をクリックします。
- エンドポイントの使用方法を選択します。
- [ データに適用] を選択して、エージェントを特定のテーブル列に適用する SQL クエリを作成します。
- curl を使用してエンドポイントにクエリを実行するコード例の Curl API を 選択します。
- Python を使用してエンドポイントを操作するコード例の Python API を選択します。
アクセス許可の管理
既定では、エージェントに対するアクセス許可を持つのは、Agent Bricks の作成者とワークスペース管理者だけです。 他のユーザーがエージェントを編集またはクエリできるようにするには、明示的にアクセス許可を付与する必要があります。
エージェントのアクセス許可を管理するには:
- エージェント ブリックでエージェントを開きます。
- 上部にある
をクリックします。kebab メニュー。
- [ アクセス許可の管理] をクリックします。
- [ アクセス許可の設定] ウィンドウで、ユーザー、グループ、またはサービス プリンシパルを選択します。
- 付与するアクセス許可を選択します。
- 管理可能: アクセス許可の設定、エージェント構成の編集、品質の向上など、エージェント ブリックの管理を許可します。
- クエリ可能: AI Playground と API を使用して、Agent Bricks エンドポイントのクエリを実行できます。 このアクセス許可のみを持つユーザーは、Agent Bricks でエージェントを表示または編集できません。
- 追加をクリックします。
- [保存] をクリックします。
注
2025 年 9 月 16 日より前に作成されたエージェント エンドポイントの場合は、[サービス エンドポイント] ページからエンドポイントに対する Can Query アクセス許可を付与できます。
エージェント ブリックで 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
- 情報抽出エージェントには、128k トークンの最大コンテキスト長があります。
- セキュリティ強化とコンプライアンスが有効になっているワークスペースはサポートされていません。
- ユニオンスキーマ型はサポートされていません。