AI Platform (AIP)AIP Chatbot Studio検索コンテキストコンテキストの種類

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

検索コンテキスト

AIP Chatbot には検索コンテキストを設定できます。検索コンテキストは、新しいユーザーメッセージを受け取るたびに決定論的に実行され、取得された情報が LLM に渡されます。

チャットボットには、次の種類の検索コンテキストを任意の数だけ設定できます。

AIP Chatbot の編集モードに表示された検索コンテキストの選択肢。

オントロジーコンテキスト

オントロジーコンテキストは、オントロジー内のオブジェクトからチャットボットにコンテキストを提供します。N 個のオブジェクトからなる固定セットを指定することも、オブジェクトタイプにベクトル埋め込みプロパティがある場合は、セマンティック検索を実行してユーザークエリとの関連性が最も高い K 個のオブジェクトを特定することもできます。

オントロジーコンテキストを設定する際は、開始オブジェクトセットとして、オブジェクトタイプ全体を含む固定値、またはアプリケーションの状態変数として渡された絞り込み済みのオブジェクトセットを含められる変数入力を選択できます。

AIP Chatbot の編集モードでのオントロジーコンテキスト設定の例。

オブジェクトプロパティのリストを設定して、取得した各オブジェクトのどのプロパティをテキストとして出力し、コンテキストとして LLM に渡すかを決めることもできます。デフォルトでは、テキストとして出力できないプロパティ(Media Reference やベクトル埋め込みなど)を除くすべてのプロパティが選択されます。

AIP Chatbot の編集モードでのオントロジーコンテキストのプロパティ設定の例。

さらに、オブジェクトセット出力と引用変数出力に変数を設定することで、オントロジーコンテキストをアプリケーションの状態と連携させることができます。詳細については、アプリケーションの状態と引用変数の更新のセクションを参照してください。

ドキュメントコンテキスト

ドキュメントコンテキストを使用すると、LLM に送信する各メッセージにドキュメント内の関連テキストを含めることができます。AIP Threads の会話にドキュメントを追加するのと同じ方法で、ドキュメントを選択して AIP Chatbot の設定に含めることができます。

ドキュメントコンテキストを提供するモードは2つあります。

  1. ドキュメント全文モード: このモードでは、ドキュメントのテキスト内容全体をコンテキストとして LLM に渡します。
  2. 関連チャンクモード: このモードでは、ドキュメントに対してセマンティック検索を実行し、最も関連性の高い K 個のチャンクをコンテキストとして LLM に返します。
ベータ版

関連チャンクモードは開発のベータ版段階にあり、お使いのエンロールメントでは利用できない場合があります。開発が進む中で機能が変更される可能性があります。この機能の利用をご希望の場合は、Palantir 担当者または Palantir サポートにお問い合わせください。

ドキュメントコンテキストを設定した AIP Chatbot の編集ページのスクリーンショット。

関数ベースのコンテキスト

関数ベースのコンテキストでは、クエリごとに独自の検索を実行できます。これは、オントロジーコンテキストやドキュメントコンテキストで標準提供される検索方法では、特定のユースケースを満たせない場合に適しています。たとえば、キーワード検索やセマンティック検索など、異なる検索方法を組み合わせたい場合、Chatbot Studio は現在その組み合わせに対応していないため、それを実行する関数を作成します。

これらの関数は、Code Repositories で TypeScript v1 を使用して作成できます。そのためには、TypeScript v1 リポジトリに移動し、AipAgentsContextRetrieval 関数インターフェースをインポートします。TypeScript v2 リポジトリでは関数インターフェースを利用できません。

Code Repositories の関数インターフェースダイアログ

次に、以下に示すように、インターフェースを満たす関数を作成します。契約を満たすには、関数の唯一の必須入力を messages にする必要があります。

Copied!
1 2 3 4 5 6 7 8 9 10 @AipAgentsContextRetrieval() public exampleRetrievalFunction(messages: MessageList): RetrievedContext { let combinedText: string[] = []; messages.forEach((message) => { ... }) return { retrievedPrompt: "..." } }

検索関数は retrievedPrompt 文字列を出力する必要があります。AIP Chatbot は、ユーザークエリに回答するために、この文字列を LLM のシステムプロンプトに挿入します。

関数を公開したら、Chatbot Studio の検索コンテキストパネルで関数を利用したコンテキストを選択し、検索に使用する関数を選択します。

AIP Chatbot で関数ベースのコンテキストを選択する画面のスクリーンショット

検索関数でのアプリケーション変数

検索関数は、チャットボットのアプリケーション変数の値を入力として受け取ることもできます。これを設定するには、関数定義に任意の引数を追加します。現在、対応しているアプリケーション変数は文字列とオブジェクトセットのみのため、関数入力はこれらのいずれかのデータ型である必要があります。

Copied!
1 2 3 4 @AipAgentsContextRetrieval() public movieRetrievalFunction(messages: MessageList, movieTitle?: string, movieSet?: ObjectSet<Movie>): RetrievedContext { ... }

オブジェクトタイプにはAPI名を使用します。API名は Ontology Manager で確認できます。その後、チャットボットのアプリケーション変数と、それぞれのデータ型に一致する関数入力との間のマッピングを設定できます。

検索関数の入力マッピングを表示した AIP Chatbot の編集ページのスクリーンショット。

アプリケーション変数を作成するには、Chatbot Studio のアプリケーションの状態値を読み取るパネルに移動します。

AIP Logic で検索関数を作成する

まもなく、これらの関数を AIP Logic で作成できるようになります。AIP Logic は、LLM を活用したノーコード関数を開発するための、すぐに使い始められるインターフェースを提供します。それまでは、検索関数を利用するために、インターフェースを満たし、内部でロジック関数を呼び出す TypeScript 関数を作成することを推奨します。

カスタム引用

LLM が特定の XML 形式の引用を含めて回答すると、AIP Chatbot のインターフェースに引用バブルが表示されます。関数ベースのコンテキストでは、指定された形式で引用を書くよう LLM に指示する文字列を関数から返すことで、これらの引用を表示できます。提供されている形式の一覧については引用形式を、オブジェクトの引用が選択されるたびに Workshop 変数を更新する方法については引用変数の更新を参照してください。

カスタムドキュメント引用を返すように関数ベースのコンテキストを設定した AIP Chatbot のスクリーンショット。

上記の例では、関数はオントロジーのオブジェクトとして表現されたドキュメントチャンクのセットを受け取ります。次に、これらのオブジェクトに対してセマンティック検索を実行し、最も関連性の高い5個のオブジェクトを、上記の引用スタイルに従って書式設定して返します。