メインコンテンツまでスキップ

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 でエンドポイントとチャットしてエンドポイントを操作する方法を示しています。あなたのドキュメントに関連する質問をエージェントに尋ねると、エージェントは引用で答えます。

Playground のナレッジアシスタントエンドポイント。

必要条件

ナレッジアシスタントエージェントの作成

ワークスペースの左側のナビゲーションペインで エージェントアイコン。 Agents に移動し、 Knowledge Assistant をクリックします。

再[ABKA]

ステップ 1: エージェントを構成する

構成 タブで、エージェントを構成し、質問に回答するためにエージェントが使用するナレッジ ソースを提供します。

ナレッジアシスタントを設定します。

  1. 名前 フィールドに、エージェントの名前を入力します。

  2. 説明 フィールドで、エージェントが実行できる操作を説明します。

  3. ナレッジ ソース パネルで、ナレッジ ソースを追加します。Unity Catalog ファイルまたはベクトル検索インデックスのいずれかを指定することを選択できます。

UC ファイルの場合、txt、pdf、md、ppt/pptx、および doc/docx のファイル タイプがサポートされています。Databricks では、32 MB 未満のファイルを使用することをお勧めします。

UC ファイルを追加します。

  1. タイプ で、[ UCファイル ]を選択します。
  2. ソース フィールドで、Unity Catalog のボリュームまたはファイルを含むボリューム ディレクトリを選択します。
  3. 名前 フィールドに、ナレッジ ソースの名前を入力します。
  4. [コンテンツの説明] で、エージェントがこのデータソースをいつ使用するかを理解できるように、ナレッジ ソースに含まれるコンテンツを記述します。
  1. (オプション)ナレッジ ソースをさらに追加する場合は、[ ナレッジ ソースの追加 ] をクリックします。 最大 10 個のナレッジ ソースを提供できます。

  2. (オプション) 指示 フィールドで、エージェントが応答する方法のガイドラインを指定します。

    指示を追加します。

  3. エージェントの作成 をクリックします。

エージェントを作成し、提供したナレッジソースを同期するには、最大で数時間かかる場合があります。右側のパネルが更新され、デプロイされたエージェント、エクスペリメント、同期されたナレッジソースへのリンクが表示されます。

エージェントの準備ができたときに右側のパネルを更新しました。

ステップ 2: エージェントをテストする

エージェントの構築が完了したら、 AI Playground で試してみてテストできます。エージェントは、ナレッジソースに関連する質問に対して引用で応答する必要があります。

  1. 右側のパネルにある [デプロイされたエージェント ] で、[ プレイグラウンドで試す ] をクリックします。これにより、エージェントエンドポイントが接続された状態で AI Playground が開きます。ここでは、エージェントとチャットして、その応答を確認できます。

    AI Playground でエージェントを試してください。

  2. AI支援機能を有効にしている場合は、 AIジャッジ合成質問の生成 を有効にして、エージェントの評価に役立てることができます。

  3. エージェントへの質問を入力します。

  4. その応答を評価します。

    エージェントをテストし、AI Playground でその応答を評価します。

    1. 思考を表示 」をクリックして、エージェントが質問にどのように回答したかを確認します。
    2. [ソース] の下のボックスをクリックして、エージェントが引用しているファイルを確認します。これにより、サイドパネルでファイルが開き、確認できるようになります。
    3. AI Judgeは、接地性、安全性、関連性について応答を迅速に評価するのに役立ちます。
    4. エージェントに尋ねる追加の質問については、 提案された質問 を確認します。

エージェントのパフォーマンスに満足している場合は、エージェントをそのまま使用し続けます。デフォルトでは、Agent Bricks エンドポイントは 3 日間非アクティブになるとゼロにスケーリングされるため、稼働時間に対してのみ請求されます。

ステップ 3: 品質を向上させる

Agent Bricks:Knowledge Assistantは、自然言語のフィードバックに基づいてエージェントの動作を調整できます。ラベリングセッションを通じて人間によるフィードバックを収集し、エージェントの品質を向上させます。エージェントのラベル付きデータを収集すると、エージェントの品質を向上させることができます。Agent Bricks は、新しいデータからエージェントを再トレーニングし、最適化します。

品質 の向上 タブで、質問を追加し、ラベル付けセッションを開始します。または、 ラベル付きデータを Unity Catalog テーブルから直接インポートすることもできます。

  1. ラベリングセッションに含める質問を追加します。

    1. [ + 追加 ] をクリックして質問を追加します。
    2. [ 質問の追加 ] モーダルに、質問を入力します。
    3. 追加 をクリックします。質問がUIに表示されます。
    4. 評価するすべての質問を追加するまで繰り返します。
    5. 質問を削除するには、ケバブメニューをクリックし、[ 削除 ]をクリックします。

    Databricks では、ラベル付けセッションに少なくとも 20 個の質問を追加して、十分なラベル付きデータが収集されるようにすることをお勧めします。

    ラベル付けセッションの質問を追加します。

  2. 質問の追加が完了したら、質問を専門家に送信してレビューしてもらい、高品質のラベル付きデータセットの構築に役立ててください。右側にある「 ラベル付けセッションの開始 」をクリックします。

    ラベリングセッションの準備ができると、UIは次のように更新されます。

    アクティブなラベル付けセッション。

  3. レビュー アプリを専門家と共有してフィードバックを収集します。

    ラベル付けセッションとレビュー アプリの詳細については、「 レビュー アプリを使用して gen AI アプリの人間によるレビューを行う (MLflow 2)」を参照してください。

注記

エキスパートがラベリングセッションにアクセスできるようにするには、次の権限を付与する必要があります。

  • エンドポイントに対する CAN QUERY アクセス許可

  • エクスペリメントへの編集権限

  • スキーマに対する USE CATALOG、USE SCHEMA、および SELECT 権限

  1. データに自分でラベルを付けるには、[ ラベル付けセッションを開く ] をクリックします。

    これにより、レビューアプリが新しいタブで開きます。レビュアーとして:

    1. レビューを開始 をクリックします。各質問について、レビュアーは質問とエージェントの回答を見ることができます。

    2. 左側で、質問と回答を確認します。「 思考の表示 」をクリックすると、エージェントが質問についてどのように考えているかを確認できます。

    3. 右側の 期待値 で、既存のガイドラインを確認し、必要に応じて追加します。

      1. ガイドラインを追加するには、[ + 入力を追加 ] をクリックします。
      2. 表示されるテキストボックスにガイドラインを入力します。
      3. 保存 をクリックします。
    4. [フィードバック] でフィードバックを入力し、[ 保存 ] をクリックします。

    5. 質問のレビューが完了したら、右上の [次の未レビュー> ]をクリックして次の質問に進みます。

    6. すべての質問のレビューが完了したら、レビューアプリを終了するだけです。

      ラベリングセッションで質問と回答を確認します。

  2. レビュアーがラベリングセッションを終了したら、エージェントの 品質の向上 タブに戻ります。

  3. [マージ] をクリックして、エキスパートからのフィードバックをラベル付けされたデータセットにマージします。右側の質問の表は、マージされたフィードバックで更新されます。

    ラベル付けセッションからのフィードバックがマージされました。

  4. フィードバック レコードを確認します。

  5. AI Playground でエージェントを再度テストして、パフォーマンスの向上を確認します。必要に応じて、別のラベル付けセッションを開始して、ラベル付けされたデータをさらに収集します。

(オプション)ラベル付けセッションデータのインポートとエクスポート

新しい質問とフィードバックを Unity Catalog テーブルから直接インポートするには:

  1. インポート 」をクリックします。

  2. [ ソース ] フィールドで、ラベル付けされたデータを含む Unity Catalog テーブルを選択します。

    テーブルには、次のスキーマが必要です。

    • eval_id: string

    • request: string

    • guidelines: array

      • items: string
    • feedback_records: array

      • items: string
    • metadata: string

    • tags: string

  3. インポート 」をクリックします。

新しい質問とフィードバック レコードは、右側のラベル付きデータ テーブルにマージされます。

ラベル付けセッションからフィードバック データを Unity Catalog テーブルとしてエクスポートするには:

  1. [エクスポート] をクリックします。
  2. [ スキーマ] フィールドで、データを保存する Unity Catalog スキーマの場所を選択します。
  3. [ テーブル名] フィールドに、テーブルの名前を入力します。
  4. [エクスポート] をクリックします。

ラベル付けセッションからのフィードバックデータを使用して新しいテーブルが作成されます。

エージェント エンドポイントをクエリする

作成したナレッジアシスタントエンドポイントをクエリするには、複数の方法があります。AI Playground で提供されているコード例を出発点として使用します。

  1. [ 構成] タブで、[ プレイグラウンドで開く ] をクリックします。
  2. Playground から [ コードを取得] をクリックします。
  3. エンドポイントの使用方法を選択します。
    • [ データに適用] を選択して、エージェントを特定のテーブル列に適用する SQL クエリを作成します。
    • curl を使用してエンドポイントをクエリするコード例として、 [Curl API ] を選択します。
    • Python を使用してエンドポイントと対話するためのコード例として、 Python API を選択します。

制限

  • Databricks では、ソース ドキュメントに 32 MB 未満のファイルを使用することをお勧めします。
  • PrivateLink を使用するワークスペース (PrivateLink の背後にあるストレージを含む) はサポートされていません。
  • セキュリティとコンプライアンスの強化が有効になっているワークスペースはサポートされていません。
  • Unity Catalog テーブルはサポートされていません。
  • 埋め込みモデルとして databricks-gte-large-en を使用するベクトル検索インデックスのみがサポートされます。