Agent Bricks: Knowledge Assistantを使用して、ドキュメント上に高品質のチャットボットを作成します
ベータ版
この機能は ベータ版です。
このページでは、Agent Bricks: Knowledge Assistantを使用して、ドキュメントに対して質問と回答のチャットボットを作成し、対象分野の専門家からの自然言語フィードバックに基づいてその品質を向上させる方法について説明します。
Agent Bricks は、一般的なAIユースケース向けに、ドメイン固有の高品質のAIエージェントシステムを構築および最適化するためのシンプルなアプローチを提供します。
Agent Bricks: Knowledge Assistantとは?
Agent Bricks: Knowledge Assistantを使用してチャットボットを作成し、ドキュメントに質問をし、引用を含む高品質の回答を受け取ることができます。Knowledge Assistantは、高度なAIを使用し、RAG(Retrieval-augmented generation)アプローチに従って、提供したドメイン専門の知識に基づいて正確で信頼性の高い回答を提供します。
Agent Bricks:Knowledge Assistantは、次のユースケースをサポートするのに最適です。
- 製品ドキュメントに基づいてユーザーの質問に答えます。
- 人事ポリシーに関連する従業員の質問に答えます。
- サポートナレッジベースに基づいて顧客からの問い合わせに回答します。
ナレッジアシスタントを使用すると、チャットエージェントの品質を向上させ、対象分野の専門家からの自然言語フィードバックに基づいて動作を調整できます。ラベリングセッションに質問を提供し、レビューアプリでレビューするために専門家に送信します。彼らの応答は、エージェントのパフォーマンスを最適化するのに役立つラベル付きデータを提供します。
Agent Bricks:Knowledge Assistantは、アプリケーションのダウンストリームで使用できるエンドツーエンドのRAGエージェントエンドポイントを作成します。たとえば、以下の画像は、AI Playground でエンドポイントとチャットしてエンドポイントを操作する方法を示しています。あなたのドキュメントに関連する質問をエージェントに尋ねると、エージェントは引用で答えます。

必要条件
- 
次のものを含むワークスペース。 - Mosaic AI Agent Bricks Preview (Beta) が有効になりました。Databricks プレビューの管理を参照してください。
- MLflow (ベータ版) の本番運用モニタリングが有効になりました。 トレースが機能するにはこれが必要です。「Databricks プレビューの管理」を参照してください。
- サーバレス コンピュートが有効になりました。 サーバレス コンピュートの要件を参照してください。
- Unity Catalog が有効になっている。「Unity Catalog のワークスペースを有効にする」を参照してください。
- パートナーによるAI機能
- 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を使用するベクトル検索インデックス。ベ クトル検索インデックスの作成を参照してください。
 
ナレッジアシスタントエージェントの作成
ワークスペースの左側のナビゲーションペインで  Agents に移動し、 Knowledge Assistant をクリックします。
![再[ABKA]](/aws/ja/assets/images/bricks-knowledge-assistant-e4c25fd646fb406f811b2831e31e1d2e.png)
ステップ 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 個のナレッジ ソースを提供できます。 
- 
(オプション) 指示 フィールドで、エージェントが応答する方法のガイドラインを指定します。  
- 
エージェントの作成 をクリックします。 
エージェントを作成し、提供したナレッジソースを同期するには、最大で数時間かかる場合があります。右側のパネルが更新され、デプロイされたエージェント、エクスペリメント、同期されたナレッジソースへのリンクが表示されます。

ステップ 2: エージェントをテストする
エージェントの構築が完了したら、 AI Playground で試してみてテストできます。エージェントは、ナレッジソースに関連する質問に対して引用で応答する必要があります。
- 
右側のパネルにある [デプロイされたエージェント ] で、[ プレイグラウンドで試す ] をクリックします。これにより、エージェントエンドポイントが接続された状態で AI Playground が開きます。ここでは、エージェントとチャットして、その応答を確認できます。  
- 
AI支援機能を有効にしている場合は、 AIジャッジ と 合成質問の生成 を有効にして、エージェントの評価に役立てることができます。 
- 
エージェントへの質問を入力します。 
- 
その応答を評価します。  - 「 思考を表示 」をクリックして、エージェントが質問にどのように回答したかを確認します。
- [ソース] の下のボックスをクリックして、エージェントが引用しているファイルを確認します。これにより、サイドパネルでファイルが開き、確認できるようになります。
- AI Judgeは、接地性、安全性、関連性について応答を迅速に評価するのに役立ちます。
- エージェントに尋ねる追加の質問については、 提案された質問 を確認します。
 
エージェントのパフォーマンスに満足している場合は、エージェントをそのまま使用し続けます。デフォルトでは、Agent Bricks エンドポイントは 3 日間非アクティブになるとゼロにスケーリングされるため、稼働時間に対してのみ請求されます。
ステップ 3: 品質を向上させる
Agent Bricks:Knowledge Assistantは、自然言語のフィードバックに基づいてエージェントの動作を調整できます。ラベリングセッションを通じて人間によるフィードバックを収集し、エージェントの品質を向上させます。エージェントのラベル付きデータを収集すると、エージェントの品質を向上させることができます。Agent Bricks は、新しいデータからエージェントを再トレーニングし、最適化します。
品質 の向上 タブで、質問を追加し、ラベル付けセッションを開始します。または、 ラベル付きデータを Unity Catalog テーブルから直接インポートすることもできます。
- 
ラベリングセッションに含める質問を追加します。 - [ + 追加 ] をクリックして質問を追加します。
- [ 質問の追加 ] モーダルに、質問を入力します。
- 追加 をクリックします。質問がUIに表示されます。
- 評価するすべての質問を追加するまで繰り返します。
- 質問を削除するには、ケバブメニューをクリックし、[ 削除 ]をクリックします。
 Databricks では、ラベル付けセッションに少なくとも 20 個の質問を追加して、十分なラベル付きデータが収集されるようにすることをお勧めします。  
- 
質問の追加が完了したら、質問を専門家に送信してレビューしてもらい、高品質のラベル付きデータセットの構築に役立ててください。右側にある「 ラベル付けセッションの開始 」をクリックします。 ラベリングセッションの準備ができると、UIは次のように更新されます。  
- 
レビュー アプリを専門家と共有してフィードバックを収集します。 ラベル付けセッションとレビュー アプリの詳細については、「 レビュー アプリを使用して gen AI アプリの人間によるレビューを行う (MLflow 2)」を参照してください。 
エキスパートがラベリングセッションにアクセスできるようにするには、次の権限を付与する必要があります。
- エンドポイントに対する CAN QUERY アクセス許可
- エクスペリメントへの編集権限
- スキーマに対する USE CATALOG、USE SCHEMA、および SELECT 権限
- 
データに自分でラベルを付けるには、[ ラベル付けセッションを開く ] をクリックします。 これにより、レビューアプリが新しいタブで開きます。レビュアーとして: - 
[レビューを開始]を クリックします。質問ごとに、レビュー担当者は質問とエージェントの回答を確認します。 
- 
左側で、質問と回答を確認します。「 思考の表示 」をクリックすると、エージェントが質問についてどのように考えているかを確認できます。 
- 
右側の 期待値 で、既存のガイドラインを確認し、必要に応じて追加します。 - ガイドラインを追加するには、[ + 入力を追加 ] をクリックします。
- 表示されるテキストボックスにガイドラインを入力します。
- 保存 をクリックします。
 
- 
[フィードバック] でフィードバックを入力し、[ 保存 ] をクリックします。 
- 
質問のレビューが完了したら、右上の [次の未レビュー> ]をクリックして次の質問に進みます。 
- 
すべての質問のレビューが完了したら、レビューアプリを終了するだけです。  
 
- 
- 
レビュアーがラベリングセッションを終了したら、エージェントの 品質の向上 タブに戻ります。 
- 
[マージ] をクリックして、エキスパートからのフィードバックをラベル付けされたデータセットにマージします。右側の質問の表は、マージされたフィードバックで更新されます。  
- 
フィードバック レコードを確認します。 
- 
AI Playground でエージェントを再度テストして、パフォーマンスの向上を確認します。必要に応じて、別のラベル付けセッションを開始して、ラベル付けされたデータをさらに収集します。 
(オプション)ラベル付けセッションデータのインポートとエクスポート
新しい質問とフィードバックを Unity Catalog テーブルから直接インポートするには:
- 
「 インポート 」をクリックします。 
- 
[ ソース ] フィールドで、ラベル付けされたデータを含む Unity Catalog テーブルを選択します。 テーブルには、次のスキーマが必要です。 - 
eval_id:string
- 
request:string
- 
guidelines:array- items:- string
 
- 
feedback_records:array- items:- string
 
- 
metadata:string
- 
tags:string
 
- 
- 
「 インポート 」をクリックします。 
新しい質問とフィードバック レコードは、右側のラベル付きデータ テーブルにマージされます。
ラベル付けセッションからフィードバック データを Unity Catalog テーブルとしてエクスポートするには:
- [エクスポート] をクリックします。
- [ スキーマ] フィールドで、データを保存する Unity Catalog スキーマの場所を選択します。
- [ テーブル名] フィールドに、テーブルの名前を入力します。
- [エクスポート] をクリックします。
ラベル付けセッションからのフィードバックデータを使用して新しいテーブルが作成されます。
エージェント エンドポイントをクエリする
作成したナレッジアシスタントエンドポイントをクエリするには、複数の方法があります。AI Playground で提供されているコード例を出発点として使用します。
- [ 構成] タブで、[ プレイグラウンドで開く ] をクリックします。
- Playground から [ コードを取得] をクリックします。
- エンドポイントの使用方法を選択します。
- [ データに適用] を選択して、エージェントを特定のテーブル列に適用する SQL クエリを作成します。
- 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 プレビューの管理」を参照してください。