注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
AIP Chatbot には検索コンテキストを設定できます。検索コンテキストは、新しいユーザーメッセージを受け取るたびに決定論的に実行され、取得された情報が LLM に渡されます。
チャットボットには、次の種類の検索コンテキストを任意の数だけ設定できます。
オントロジーコンテキストは、オントロジー内のオブジェクトからチャットボットにコンテキストを提供します。N 個のオブジェクトからなる固定セットを指定することも、オブジェクトタイプにベクトル埋め込みプロパティがある場合は、セマンティック検索を実行してユーザークエリとの関連性が最も高い K 個のオブジェクトを特定することもできます。
オントロジーコンテキストを設定する際は、開始オブジェクトセットとして、オブジェクトタイプ全体を含む固定値、またはアプリケーションの状態変数として渡された絞り込み済みのオブジェクトセットを含められる変数入力を選択できます。
オブジェクトプロパティのリストを設定して、取得した各オブジェクトのどのプロパティをテキストとして出力し、コンテキストとして LLM に渡すかを決めることもできます。デフォルトでは、テキストとして出力できないプロパティ(Media Reference やベクトル埋め込みなど)を除くすべてのプロパティが選択されます。
さらに、オブジェクトセット出力と引用変数出力に変数を設定することで、オントロジーコンテキストをアプリケーションの状態と連携させることができます。詳細については、アプリケーションの状態と引用変数の更新のセクションを参照してください。
ドキュメントコンテキストを使用すると、LLM に送信する各メッセージにドキュメント内の関連テキストを含めることができます。AIP Threads の会話にドキュメントを追加するのと同じ方法で、ドキュメントを選択して AIP Chatbot の設定に含めることができます。
ドキュメントコンテキストを提供するモードは2つあります。
関連チャンクモードは開発のベータ版段階にあり、お使いのエンロールメントでは利用できない場合があります。開発が進む中で機能が変更される可能性があります。この機能の利用をご希望の場合は、Palantir 担当者または Palantir サポートにお問い合わせください。

関数ベースのコンテキストでは、クエリごとに独自の検索を実行できます。これは、オントロジーコンテキストやドキュメントコンテキストで標準提供される検索方法では、特定のユースケースを満たせない場合に適しています。たとえば、キーワード検索やセマンティック検索など、異なる検索方法を組み合わせたい場合、Chatbot Studio は現在その組み合わせに対応していないため、それを実行する関数を作成します。
これらの関数は、Code Repositories で TypeScript v1 を使用して作成できます。そのためには、TypeScript v1 リポジトリに移動し、AipAgentsContextRetrieval 関数インターフェースをインポートします。TypeScript v2 リポジトリでは関数インターフェースを利用できません。
次に、以下に示すように、インターフェースを満たす関数を作成します。契約を満たすには、関数の唯一の必須入力を 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 の検索コンテキストパネルで関数を利用したコンテキストを選択し、検索に使用する関数を選択します。
検索関数は、チャットボットのアプリケーション変数の値を入力として受け取ることもできます。これを設定するには、関数定義に任意の引数を追加します。現在、対応しているアプリケーション変数は文字列とオブジェクトセットのみのため、関数入力はこれらのいずれかのデータ型である必要があります。
Copied!1 2 3 4@AipAgentsContextRetrieval() public movieRetrievalFunction(messages: MessageList, movieTitle?: string, movieSet?: ObjectSet<Movie>): RetrievedContext { ... }
オブジェクトタイプにはAPI名を使用します。API名は Ontology Manager で確認できます。その後、チャットボットのアプリケーション変数と、それぞれのデータ型に一致する関数入力との間のマッピングを設定できます。
アプリケーション変数を作成するには、Chatbot Studio のアプリケーションの状態値を読み取るパネルに移動します。
まもなく、これらの関数を AIP Logic で作成できるようになります。AIP Logic は、LLM を活用したノーコード関数を開発するための、すぐに使い始められるインターフェースを提供します。それまでは、検索関数を利用するために、インターフェースを満たし、内部でロジック関数を呼び出す TypeScript 関数を作成することを推奨します。
LLM が特定の XML 形式の引用を含めて回答すると、AIP Chatbot のインターフェースに引用バブルが表示されます。関数ベースのコンテキストでは、指定された形式で引用を書くよう LLM に指示する文字列を関数から返すことで、これらの引用を表示できます。提供されている形式の一覧については引用形式を、オブジェクトの引用が選択されるたびに Workshop 変数を更新する方法については引用変数の更新を参照してください。
上記の例では、関数はオントロジーのオブジェクトとして表現されたドキュメントチャンクのセットを受け取ります。次に、これらのオブジェクトに対してセマンティック検索を実行し、最も関連性の高い5個のオブジェクトを、上記の引用スタイルに従って書式設定して返します。