UiPath Documentation
test-cloud
latest
false
重要 :
このコンテンツの一部は機械翻訳によって処理されており、完全な翻訳を保証するものではありません。 新しいコンテンツの翻訳は、およそ 1 ~ 2 週間で公開されます。

Test Cloud 管理ガイド

コンテキスト グラウンディングを使用する

このセクションでは、コンテキスト グラウンディングを効果的に使用する方法について説明します。

基本情報

コンテキスト グラウンディングを Agents または Autopilot for Everyone で使用するには、「インデックスを作成する」で説明されている手順に従ってインデックスを作成します。

アクティビティでコンテキスト グラウンディングを使用するには、UiPath GenAI アクティビティ コネクタへの接続を作成し、v2024.4 以上の Studio Web またはデスクトップ版の Studio を使用していることを確認してください。

インジェスト パイプラインの管理

取り込みパイプラインは、次の方法で管理できます。

  • Orchestrator または Agents ( [インデックス ] ページ)「 インデックスを管理する」をご覧ください
  • UiPath GenAI アクティビティ パッケージに含まれる [コンテキスト グラウンディングのインデックスを更新] アクティビティ。

コンテキスト グラウンディングを使用してデータにクエリを実行する

Orchestrator 内にインデックスを作成すると、UiPath Platform 全体でインデックスにアクセスできるようになります。これらのインデックスは、データ ソースから取り込まれたドキュメントの永続ストレージとして機能し、再利用可能なリソースをさまざまな UiPath 製品に提供します。

  • Autopilot for Everyone では、コンテキスト グラウンディングによって、既存のインデックス全体を検索できるようになり、クエリに対して正確な回答が提供されるため、ユーザーとの対話が強化されます。Autopilot for Everyone のコンテキスト グラウンディングについて詳しくは、こちらをご覧ください。
  • GenAI アクティビティでは、コンテキスト グラウンディングのメリットとして、権限が設定されたナレッジ ベースに保存されている情報に基づいてコンテンツを生成できる点があります。GenAI アクティビティについて詳しくは、こちらをご覧ください。
  • Agents では、インデックスは実行時にコンテキストを提供する上で重要な役割を果たします。詳しくは、「コンテキスト」をご覧ください。

コンテキスト グラウンディングを監視する

パフォーマンスの最適化とトラブルシューティングのためには、コンテキスト グラウンディングがワークフローに与える影響を理解することが不可欠です。以下に、さまざまな UiPath 製品でコンテキスト グラウンディングの出力をトレースして表示する方法を説明します。

Agents で、エージェントの実行のトレース ビューにアクセスして、包括的な詳細を表示します。このビューには、コンテキスト グラウンディングのクエリの検索結果と引用がすべて表示され、エージェントの意思決定プロセスに関する洞察が得られます。

GenAI アクティビティのコンテキスト グラウンディングに関する詳細な情報を収集するには、次の手順を実行します。

  1. ワークフロー シーケンスの [コンテンツ生成] アクティビティの直後に [メッセージをログ] アクティビティを配置します。
  2. 以下の出力変数を使用して、特定の情報を取得します。
    • 上位の生成テキスト: ワークフローの実行後に、LLM によって生成された応答を表示します。
    • 引用: 生成出力に影響を与えたセマンティック検索の結果を確認します。これは、PDF および JSON データ型でのみ機能します。

GenAI アクティビティでのコンテキスト グラウンディング

コンテキスト グラウンディングは、次の 3 つのフェーズでデータと対話します。

  1. コンテキストグラウンディングのデータソースを確立します。
    • コンテキスト グラウンディングは、共有フォルダーの権限に従います。データの管理とクエリの実行には、適切なアクセス権を持つフォルダーを使用します。
    • サポートされている Integration Service のデータ ソースへの接続を作成するか、共有の Orchestrator バケットの場所にデータを追加します。
  2. データソースからコンテキストグラウンディングにデータを取り込みます。
  3. データを使用したクエリとグラウンドプロンプト。
    • [コンテンツ生成] アクティビティ、エージェント、または Autopilot for Everyone を使用して、ドキュメントに対してクエリを実行し、情報を使用してプロンプトを拡張またはグラウンディングします。

一般的なコンテキスト グラウンディングのパターン

コンテキスト グラウンディングのコア コンポーネントは、ドキュメント内およびドキュメント間で関連情報を検索し、LLM からの高品質で低レイテンシの生成に必要な最も関連性の高い部分のみを見つけることができるメカニズムを提供するように設計されています。

ドキュメント内の検索

コンテキスト グラウンディング サービスは、1 つのドキュメント内の特定の情報をより効果的に検索するのに役立ちます。単にキーワードを一致させるだけでなく、検索クエリの意味とコンテキストを理解します。たとえば、料理本で「アップルパイのレシピ」に関する情報を探している場合は、興味の対象がテクノロジーや果物栽培ではなく、デザートや製パンであることを理解します。

ドキュメント全体の検索

コンテキスト グラウンディングは、複数のドキュメントに分散している情報を見つけるのに役立ちます。さまざまな情報間の関係を理解し、より関連性の高い結果を提供できます。たとえば、さまざまな科学論文で「気候変動が農業に及ぼす影響」を調べている場合は、降雨パターン、作物の収穫量、気温の変化などのトピックがクエリに関連していることを理解し、複数のソースから関連情報をまとめます。

つまり、コンテキスト グラウンディングを次の目的で使用できます。

  • データの抽出と比較: コンテキスト グラウンディングは、ドキュメントから特定の種類の情報を自動的に識別して抽出し、有意義な方法で比較できます。大量の合計©があり、候補者の実務経験を比較したいとします©。このサービスでは、各合計©©で情報の形式が異なっていても、役職、期間、担当業務を抽出し、比較しやすい方法でそれらを提示できます。
  • 要約: コンテキスト グラウンディングでは、長いドキュメントや複数の関連ドキュメントの要約を作成できます。文章をランダムに抽出するのではなく、重要なポイントと全体的なメッセージを理解します。たとえば、市場動向に関する長いレポートがある場合、このサービスでは、主な調査結果、主要な統計情報、および全体的な結論を強調する要約を提供できます。

通知

コンテキスト グラウンディングからの通知の受信登録ができます。詳しくは、「[通知] パネル」をご覧ください。

イベントは通知のトリガーとして機能します。通知が生成されるコンテキスト グラウンディングのイベントは次のとおりです。

  • 取り込みジョブの完了
  • 取り込みジョブの失敗
  • 取り込みジョブの開始

また、成功エラーなどの重要度に基づいてイベントの通知を受け取ることもできます。

独自のベクトル データベースを利用する

既存のベクトル データベースを使用して、エージェントの応答を企業の信頼できるデータにグラウンディングできます。コンテンツの複製や、現在のアーキテクチャの変更は不要です。

このガイドでは、外部で管理されるベクトル データベース (Databricks Vector Search や Azure AI Search など) を、API ワークフローを使用して UiPath エージェントに接続し、独自のデータ ソースを使用して検索拡張生成 (RAG) を実行できるようにする方法について説明します。

このガイドを最後まで読むと、次のことができるようになります。

  • UiPath エージェントから外部のベクトル データベースにクエリを実行する
  • 最も関連性の高いコンテンツを構造化されたコンテキストとして返す
  • エージェントの応答を組織のデータに安全かつリアルタイムにグラウンディングする

独自のデータベースを利用する (BYOVD) パターンを使用する状況

BYOVD は次の場合に使用します。

  • すでに外部ベクトル ストア内でデータにインデックスが付けられている
  • エージェントが企業の最新のナレッジにアクセスできるようにする
  • UiPath 内でのデータのコピーやインデックスの作成を避ける必要がある
  • データの保存、セキュリティ、埋め込みを完全に制御する必要がある

動作のしくみ

BYOVD により、エージェントは生成 AI の応答を、信頼できるデータ ソースにグラウンディングできます。組み込みのコンテキスト グラウンディングのインデックスを利用する代わりに API ワークフローを使用し、このワークフローで外部のベクトル データベースに対して安全にクエリを実行し、関連するコンテキストをエージェントの大規模言語モデルに返します。

このアプローチにより、任意のベクトル データベースをパブリック API と柔軟に連携させながら、データ アクセス、認証、取得ロジックの制御を維持できます。

UiPath では、エージェントのツールとして機能する API ワークフローを通じて BYOVD を実現します。実行時の処理の流れは次のとおりです。

  1. ユーザー クエリ: ユーザーがエージェントにプロンプトを送信します。
  2. ツールの選択: エージェントの LLM が追加のコンテキストが必要であると判断し、カスタムのベクトル検索ツールを選択します。
  3. API ワークフローの実行: エージェントがパブリッシュ済みの API ワークフローを呼び出し、ユーザーのクエリを入力として渡します。
  4. ベクトル検索: ワークフローでベクトル データベースに対してクエリを実行し、意味的に最も関連性の高いコンテンツを取得します。
  5. コンテキストの戻り: ワークフローが、取得されたコンテンツを構造化された JSON として返します。
  6. 応答の生成: エージェントがこのコンテキストを使用して正確なグラウンディング応答を生成します。

このアプローチにより、コンテキスト グラウンディング サービスにネイティブに取り込むことなく、検索拡張生成 (RAG) がサポートされます。

アーキテクチャの概要

BYOVD ソリューションは、次の 3 つの主要なコンポーネントで構成されます。

  • ベクトル データベース: 既存のシステムです (例: Databricks Vector Search、Azure AI Search)。
  • API ワークフロー: 以下の処理を行う UiPath Integration Service ワークフローです。
    • クエリを受け入れる
    • ベクトル データベース API を呼び出す
    • 関連する結果を返す
  • エージェントのツール: パブリッシュ済みの API ワークフローです。エージェントが呼び出すことができるツールとして追加します。

セキュリティと資格情報の管理

ワークフローを構築する前に、すべての API キーとシークレットを安全に保管してください。また、資格情報をワークフロー内にハードコードしないでください。代わりに、Orchestrator 資格情報ストアを使用して以下を行います。

  • 資格情報を Orchestrator に保存する: API キーとその他のシークレットを資格情報アセットとして Orchestrator テナントに追加します。これにより、機密情報を安全に一元管理できます。
  • 実行時に資格情報を取得する: API ワークフローで、[ 資格情報を取得 ] アクティビティを使用して、ワークフローの実行時に保存されている資格情報にアクセスします。このアクティビティは、ユーザー名を文字列として、パスワード (API キーなど) を SecureStringとして返し、シークレットがログやワークフロー定義に公開されるのを防ぎます。

前提条件

開始する前に、以下があることを確認してください。

  • アクティブなベクトル データベース (Databricks Vector Search や Azure AI Search など) とインデックス付きのデータ
  • Orchestrator に資格情報アセットとして保存された、有効な API エンドポイントと認証の資格情報
  • 同じく安全に保存された、埋め込みモデルのエンドポイントとキー (Azure のクライアント側のベクトル化の場合のみ)

セットアップ

BYOVD は 3 つの方法のいずれかを使用して実装できます。その方法とは、モデルのネイティブ エンドポイント、クライアント側のベクトル化 (API ワークフローでベクトル化を実行)、または統合ベクトル化です。

以降のセクションでは、各アプローチを設定するためのステップバイステップの手順を説明します。ここで挙げる例では Databricks と Azure AI Search を使用していますが、他のベクトル データベースにも同じパターンが適用されます。ご使用のベクトル データベースでのクエリのベクトル化の処理方法に合った設定を選択してください。

Databricks ベクトル検索 (モデルのネイティブ エンドポイント)

このオプションは、Databricks でクエリのベクトル化をネイティブに処理する場合に使用します。

このオプションを使用する理由
  • 構成が簡単である
  • API 呼び出しが 1 つのクエリにつき 1 つだけである
  • 別個の埋め込みモデルが必要ない
手順
  1. Databricks の詳細を取得します。
    1. エンドポイント URL を取得します。
    2. Databricks の個人用アクセス トークンを資格情報アセットとして Orchestrator に保存します。
  2. Studio で新しい API ワークフロー プロジェクトを作成し、以下の引数を定義します。
    • in_QueryText (String)
    • in_TopK (Int32、既定値は 5)
    • out_Results (String)
  3. [資格情報を取得] アクティビティを使用して、実行時に Databricks の個人用アクセス トークンを Orchestrator から取得します。
  4. Databricks エンドポイントを呼び出すために [HTTP 要求] アクティビティを追加します。
    • エンドポイント: Databricks ベクトル検索エンドポイントです。
    • 方法: POST
    • ヘッダー: Authorization: Bearer <Personal Access Token>
    • 本文: 入力変数をマッピングして、Databricks API で必要な JSON 本文を作成します。
  5. ワークフローを Orchestrator テナントにパブリッシュします。
  6. ワークフローをツールとしてエージェントに追加し、LLM で使用する明確な名前と説明を指定します。

Azure AI Search (クライアント側のベクトル化)

このオプションは、Azure AI Search のインデックスがベクトル入力を予期している場合に使用します。

このオプションを使用する理由
  • 埋め込みモデルを完全に制御できる
  • 既存のベクトル インデックスと相互運用できる
手順
  1. API の詳細を取得します。
    • Azure AI Search の場合: エンドポイント URL とインデックス名を取得し、API キーを資格情報アセットとして Orchestrator に保存します。
    • 埋め込みモデルの場合: エンドポイント URL を取得し、埋め込みサービスの API キーを資格情報アセットとして Orchestrator に保存します。
  2. Studio で新しい API ワークフロー プロジェクトを作成し、以下の引数を定義します。
    • in_QueryText (String)
    • in_TopK (Int32、既定値は 5)
    • out_Results (String)
  3. まず、クエリをベクトル化します。
    1. 埋め込みモデルの API キーを取得するために、[資格情報を取得] アクティビティを追加します。
    2. [HTTP 要求] アクティビティを追加し、in_QueryText で埋め込みモデルを呼び出します。
    3. JSON 応答を逆シリアル化し、生成される埋め込みベクトルを変数 (例: queryVector) に格納します。
  4. Azure AI Search に対してクエリを実行します。
    1. Azure AI Search の API キーを取得するために、[資格情報を取得] アクティビティを追加します。
    2. [HTTP 要求] アクティビティを追加し、次のように設定します。
      • エンドポイント: Azure AI Search エンドポイントです。
      • メソッド: POST
      • ヘッダー: 次のように、Azure AI Search API キー変数を指定した api-key ヘッダーを追加します。 api-key: <API key>
      • 体: Azure AI Search ベクトル検索クエリの JSON 本文を作成し、 queryVector 変数を埋め込みます。
  5. ワークフローを Orchestrator テナントにパブリッシュします。
  6. パブリッシュしたワークフローをツールとしてエージェントに追加し、LLM が使用する明確な説明を入力します。

Azure AI Search (統合ベクトル化)

このオプションは、Azure AI Search のインデックスが組み込みのベクトル化をサポートしている場合に使用します。

このオプションを使用する理由
  • Azure の設定が最も簡単である
  • ワークフローに埋め込み呼び出しがない
  • API 要求が 1 つのクエリにつき 1 つである
手順
  1. API の詳細を取得します。
    • Azure AI Search のエンドポイント URL とインデックス名を取得し、API キーを資格情報アセットとして Orchestrator に保存します。
  2. Studio で新しい API ワークフロー プロジェクトを作成し、以下の引数を定義します。
    • in_QueryText (String)
    • in_TopK (Int32、既定値は 5)
    • out_Results (String)
  3. UiPath Orchestrator から Azure AI Search の API キーを取得するために、[資格情報を取得] アクティビティを追加します。
  4. [HTTP 要求] アクティビティを追加し、次のように設定します。
    • エンドポイント:
      https://<service>.search.windows.net/indexes/<index-name>/docs/search?api-version=2023-11-01
      https://<service>.search.windows.net/indexes/<index-name>/docs/search?api-version=2023-11-01
      
    • 方法: POST
    • ヘッダー: 次のように、Azure AI Search API キー変数を含む api-key ヘッダーを追加します api-key: <API key>
    • 本文: クエリ テキストを使用してベクトル検索を実行するための JSON 本文を作成します。ベクトル化は Azure AI Search で自動的に処理されます。
      {
        "vectorQueries": [
          {
            "kind": "text",
            "text": "<%= in_QueryText %>",
            "fields": "contentVector",
            "k": "<%= in_TopK %>"
          }
        ],
        "select": "chunk, source_document"
      }
      {
        "vectorQueries": [
          {
            "kind": "text",
            "text": "<%= in_QueryText %>",
            "fields": "contentVector",
            "k": "<%= in_TopK %>"
          }
        ],
        "select": "chunk, source_document"
      }
      
  5. ワークフローを Orchestrator テナントにパブリッシュします。
  6. パブリッシュしたワークフローをツールとしてエージェントに追加し、LLM に対して明確な説明を入力します。

このページは役に立ちましたか?

接続

ヘルプ リソース サポート

学習する UiPath アカデミー

質問する UiPath フォーラム

最新情報を取得