Agent Bricks: Knowledge Assistantを使用して、ドキュメント上に高品質のチャットボットを作成します
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。「Databricks プレビューの管理」を参照してください。
このページでは、Agent Bricks: Knowledge Assistantを使用して、ドキュメントに対して質問と回答のチャットボットを作成し、対象分野の専門家からの自然言語フィードバックに基づいてその品質を向上させる方法について説明します。
Agent Bricks は、一般的なAIユースケース向けに、ドメイン固有の高品質のAIエージェントシステムを構築および最適化するためのシンプルなアプローチを提供します。
Agent Bricks: Knowledge Assistantとは?
Agent Bricks: Knowledge Assistant を使用して、ドキュメントに関する質問に答え、引用付きの高品質な回答を提供できるチャットボットを作成します。Knowledge Assistant は高度な AI を使用し、 Instructed Retrieverアプローチに従って、従来の検索拡張生成 (RAG) アプローチの制限に対処し、ユーザーが提供するドキュメントに基づいて最高品質の回答を提供します。
Agent Bricks:Knowledge Assistantは、次のユースケースをサポートするのに最適です。
- 製品ドキュメントに基づいてユーザーの質問に答えます。
- 人事ポリシーに関連する従業員の質問に答えます。
- サポートナレッジベースに基づいて顧客からの問い合わせに回答します。
Knowledge Assistant を使用すると、専門家からの自然言語によるフィードバックに基づいてチャット エージェントの品質を向上させ、その動作を調整できます。エクスペリエンス内で直接質問やガイドラインを提供し、エージェントを共有して他のユーザーが共同作業を行い、エージェントのパフォーマンスを向上できるようにします。
エージェント ブリック: Knowledge Assistant は、アプリケーションのダウンストリームで使用できるエージェント エンドポイントを作成します。たとえば、下の画像は、AI Playground でチャットしてエンドポイントと対話する方法を示しています。エージェントに書類に関連する質問をすると、エージェントが引用とともに回答します。

Agent Bricks は、デフォルトのストレージを使用して、各エージェントを動かす一時的なデータ変換、モデル チェックポイント、および内部メタデータを保存します。エージェントを削除すると、エージェントに関連付けられているすべてのデータがデフォルトのストレージから削除されます。
必要条件
-
次のものを含むワークスペース。
- Mosaic AI Agent Bricks Preview (Beta) が有効になりました。Databricks プレビューの管理を参照してください。
- MLflow (ベータ版) の本番運用モニタリングが有効になりました。 トレースが機能するにはこれが必要です。「Databricks プレビューの管理」を参照してください。
- サーバレス コンピュートが有効になりました。 サーバレス コンピュートの要件を参照してください。
- Unity Catalog が有効になっている。「Unity Catalog のワークスペースを有効にする」を参照してください。
- Mosaic AI Model Servingへのアクセス。
system.aiスキーマを使用した Unity Catalog の基盤モデルへのアクセス。- 非ゼロの 予算を持つサーバレス 予算ポリシー へのアクセス。
-
サポートされているリージョン (
us-east-1またはus-west-2のいずれかのリージョンのワークスペース。 -
databricks-gte-large-en埋め込みモデル エンドポイントでは、AI ガードレールとレート制限を無効にする必要があります。「モデルサービング エンドポイントでのAIゲートウェイの構成」を参照してください。 -
入力データを使用する準備ができている必要があります。次のいずれかを選択できます。
- Unity Catalog のボリュームまたはボリューム ディレクトリ内のファイル。サポートされているファイルタイプは、txt、pdf、md、ppt/pptx、doc/docx です。
- 埋め込みモデルとして
databricks-gte-large-enを使用するベクトル検索インデックス。ベ クトル検索インデックスの作成を参照してください。
ナレッジアシスタントエージェントの作成
へ移動ワークスペースの左側のナビゲーション ペインにある エージェント 。 Knowledge Assistant タイルから、 [ビルド] をクリックします。
ステップ 1: エージェントを構成する
[ビルド] タブで、エージェントを構成し、質問に答えるために使用する知識ソースを提供します。

-
名前 フィールドに、エージェントの名前を入力します。
-
説明 フィールドで、エージェントが実行できる操作を説明します。
-
ナレッジ ソース パネルで、ナレッジ ソースを追加します。Unity Catalog ファイルまたはベクトル検索インデックスのいずれかを指定することを選択できます。
- UC Files
- Vector Search Index
UC ファイルの場合、txt、pdf、md、ppt/pptx、および doc/docx のファイル タイプがサポートされています。50 MB を超えるファイルは、取り込み中に自動的にスキップされ、ナレッジ ベースには含まれません。

- タイプ で、[ UCファイル ]を選択します。
- ソース フィールドで、Unity Catalog のボリュームまたはファイルを含むボリューム ディレクトリを選択します。
- 名前 フィールドに、ナレッジ ソースの名前を入力します。
- [コンテンツの説明] で、エージェントがこのデータソースをいつ使用するかを理解できるように、ナレッジ ソースに含まれるコンテンツを記述します。

Vector search indexes are only supported if the index uses databricks-gte-large-en as its embedding model. When creating your vector search index, ensure you select this embedding model. For more information, see Create a vector search index.
- タイプ で、 ベクトル検索インデックス を選択します。
- ソース フィールドで、エージェントに提供するベクトル検索インデックスを選択します。
- Doc URI Column で、情報のソースへのリンクまたは参照を含む列を選択します。エージェントは、これを引用に使用します。
- テキスト列 フィールドで、エージェントに取得させる生のテキストを含む列を指定します。
- 名前 フィールドに、ナレッジ ソースの名前を入力します。
- [コンテンツの説明] で、エージェントがこのデータソースをいつ使用するかを理解できるように、ナレッジ ソースに含まれるコンテンツを記述します。
-
(オプション)ナレッジ ソースをさらに追加する場合は、[ ナレッジ ソースの追加 ] をクリックします。 最大 10 個のナレッジ ソースを提供できます。
-
(オプション) 指示 フィールドで、エージェントが応答する方法のガイドラインを指定します。

-
エージェントの作成 をクリックします。
エージェントを作成し、提供したナレッジソースを同期するには、最大で数時間かかる場合があります。右側のパネルが更新され、デプロイされたエージェント、エクスペリメント、同期されたナレッジソースへのリンクが表示されます。
ナレッジソースにファイルを更新または追加する場合は、クリックする必要があります。 エージェントが変更を取得できるように同期します。同期は増分的に行われます。たとえば、以前に同期したUnity Catalogボリュームに新しいファイルを追加すると、同期では新しく追加されたファイルのみが処理されます。
ナレッジ アシスタントの作成者だけがナレッジ ソースを同期できます。

ステップ 2: エージェントをテストする
エージェントの構築が完了したら、エージェントとチャットしてテストします。エージェントは、その知識に関連する質問に対して引用で応答する必要があります。
-
「エージェントのテスト」 で、エージェントとのチャットを開始します。
-
(オプション) 「Playground で開く」 をクリックして、 AI Playgroundでチャットすることもできます。AI 支援機能が有効になっている場合は、 AI ジャッジ と 合成質問生成を 有効にして、エージェントの評価に役立てることができます。
-
エージェントへの質問を入力します。
-
その応答を評価します。
- 「 思考を表示 」をクリックして、エージェントが質問にどのように回答したかを確認します。
- エージェントが引用しているファイルを確認するには、 [ソースの表示] をクリックします。これにより、確認できるソースのリストを含むサイドパネルが開きます。
- 完全なトレースを表示するには、 「トレースの表示」 をクリックします。開発プロセス中に品質評価を追跡するために、UI のトレースにラベルを追加できます。
エージェントのパフォーマンスに満足している場合は、エージェントをそのまま使用し続けます。デフォルトでは、Agent Bricks エンドポイントは 3 日間非アクティブになるとゼロにスケーリングされるため、稼働時間に対してのみ請求されます。
ステップ 3: 品質を向上させる
エージェント ブリック: Knowledge Assistant は、自然言語のフィードバックに基づいてエージェントの動作を調整できます。構成ページを通じて専門家からのフィードバックを収集し、エージェントの品質を向上させます。エージェントのラベル付きデータを収集すると、エージェントの品質と動作が向上します。
[例] タブで、ユーザーが尋ねる質問や、エージェントが以前に間違えた質問を追加します。あるいは、 Unity Catalogテーブルからラベル付きデータを直接インポートすることもできます。
-
ラベルに質問を追加します:
- [ + 追加 ] をクリックして質問を追加します。
- [ 質問の追加 ] モーダルに、質問を入力します。
- 追加 をクリックします。質問がUIに表示されます。
- 評価するすべての質問を追加するまで繰り返します。
- 質問を削除するには、ケバブメニューをクリックし、[ 削除 ]をクリックします。
-
質問の追加が完了したら、エージェントを他のユーザーと共有してレビューし、高品質のラベル付きデータセットを構築することができます。右上隅のケバブメニューをクリックします
権限を管理します。
専門家がアクセスしてフィードバックを提供するには、次の権限を付与する必要があります。
- エージェント設定ページからのCAN_MANAGE権限
-
Agent Bricks: Knowledge Assistant 構成ページへのリンクを共有して、専門家からのフィードバックを収集します。収集されたガイドラインは保存後すぐに適用されます。
-
自分でデータにラベルを付けるには、質問をクリックし、表示されるパネルに ガイドライン を追加します。ガイドラインは保存後すぐに適用されます。
-
構成ページまたはAI Playgroundでエージェントを再度テストし、パフォーマンスの向上を確認します。 必要に応じて、質問やガイドラインを追加して、行動の改善を続けます。
(オプション)ラベル付きデータのインポートとエクスポート
新しい質問とフィードバックを Unity Catalog テーブルから直接インポートするには:
-
「 インポート 」をクリックします。
-
[ ソース ] フィールドで、ラベル付けされたデータを含む Unity Catalog テーブルを選択します。
テーブルには、次のスキーマが必要です。
-
eval_id:string -
request:string -
guidelines:arrayitems:string
-
metadata:string -
tags:string
-
-
「 インポート 」をクリックします。
新しい質問とガイドラインは、右側のラベル付きデータ テーブルに統合されます。
ラベル付けされたデータをUnity Catalogテーブルとしてエクスポートするには:
- [エクスポート] をクリックします。
- [ スキーマ] フィールドで、データを保存する Unity Catalog スキーマの場所を選択します。
- [ テーブル名] フィールドに、テーブルの名前を入力します。
- [エクスポート] をクリックします。
ラベル付けされたデータで新しいテーブルが作成されます。
権限を管理する
デフォルトでは、エージェント ブリックの作成者とワークスペース管理者のみがエージェントに対する権限を持ちます。他のユーザーがエージェントを編集または照会できるようにするには、明示的に権限を付与する必要があります。
エージェントの権限を管理するには:
-
Agent Bricks でエージェントを開きます。
-
上部の
ケバブメニュー。
-
[権限の管理] をクリックします。
-
[権限設定] ウィンドウで、ユーザー、グループ、またはサービスプリンシパルを選択します。
-
付与する権限を選択してください:
- 管理可能 : 権限の設定、エージェント構成の編集、品質の向上など、エージェント ブリックの管理を許可します。
- クエリ可能 : AI PlaygroundおよびAPIを通じて Agent Bricks エンドポイントをクエリできます。 この権限のみを持つユーザーは、エージェント ブリックでエージェントを表示または編集することはできません。
-
[ 追加 ] をクリックします。
-
保存 をクリックします。
ナレッジ アシスタントの作成者だけがナレッジ ソースを同期できます。
エージェント エンドポイントをクエリする
エージェントページで、 右上のエージェント ステータスを参照して、デプロイされたエージェント エンドポイントを取得し、エンドポイントの詳細を確認します。
作成されたナレッジ アシスタント エンドポイントをクエリする方法は複数あります。AI Playground で提供されているコード例を開始点として使用します。
- [ビルド] タブで、[プレイ グラウンドで開く] をクリックします。
- Playground から [ コードを取得] をクリックします。
- エンドポイントの使用方法を選択します。
- curl を使用してエンドポイントをクエリするコード例として、 [Curl API ] を選択します。
- Python を使用してエンドポイントと対話するためのコード例として、 Python API を選択します。
ナレッジアシスタントを評価する
このノートブックでは、キュレーションされた評価データセットとカスタム スコアラーを使用して Databricks Knowledge Assistant を評価する方法を示します。
Notebook
制限
-
50 MB を超えるファイルは、取り込み中に自動的にスキップされ、ナレッジ ベースには含まれません。
-
名前がアンダースコア (
_) またはピリオド (.) で始まるファイルは、取り込み中に自動的にスキップされ、ナレッジ ベースには含まれません。 -
セキュリティとコンプライアンスの強化が有効になっているワークスペースはサポートされていません。
-
Unity Catalog テーブルはサポートされていません。
-
埋め込みモデルとして
databricks-gte-large-enを使用するベクトル検索インデックスのみがサポートされます。 -
databricks-gte-large-enモデル エンドポイントでは AI ガードレールとレート制限を無効にする必要があります。「モデルサービング エンドポイントでのAIゲートウェイの構成」を参照してください。 -
トレースを機能させるには、 MLflow (Beta) の本番運用モニタリングを有効にする必要があります。 「Databricks プレビューの管理」を参照してください。