ユースケース開発WorkshopAIP ウィジェットAIP Chatbot

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

AIP Chatbot

AIP Chatbot ウィジェット(旧称 AIP Agent ウィジェット)を使用すると、企業固有の情報とツールを備えた対話型アシスタントを Workshop の業務ワークフローで利用できます。

パラメーター化された AIP Chatbot を使用するように設定された AIP Chatbot ウィジェット。

ウィジェットは、AIP Chatbot で設定された AIP Chatbot(推奨、以下のスクリーンショットの 「AIP Chatbot」タブ)、または Workshop の設定で定義されたチャットボット(非推奨、以下のスクリーンショットの「レガシー」タブ)と対話するように設定できます。AIP Chatbot で設定されたチャットボットは、Workshop の Commands と連携させ、ほかの埋め込み Palantir アプリケーションでの操作を宣言して実行することもできます。これらを組み合わせて使用すると、チャットボットは Commands を介してそれらのアプリケーションからの読み取りと書き込みを行い、アプリケーション間のワークフローを進められます。

AIP Chatbot ウィジェットの基本設定の選択肢。

基本設定(AIP Chatbot)

AIP Chatbot の概要については、AIP Chatbot のドキュメントを確認してください。ワークフローに AIP Chatbot を追加するには、以下の手順に沿って進めてください。

AIP Chatbot を設定する

AIP Chatbot、組み込む公開済みバージョン、チャットボットの推論を表示するかどうかを選択します。

AIP Chatbot の設定の空の状態。

アプリケーションの状態を設定する

AIP Chatbot でアプリケーション変数を1つ以上適切に設定している場合、それらのアプリケーション変数を Workshop 変数にマッピングする選択肢が表示されます。設定すると、AIP Chatbot は AIP Chatbot で定義された読み取り/書き込み権限に従って、その変数を操作できます。

アプリケーションの状態の設定の空の状態。

メッセージを自動送信する

textbox 変数を使用して、Workshop イベントから設定済みの AIP Chatbot にメッセージを自動送信できます。この変数はチャットの入力項目のテキストと連動しており、ユーザーがチャットに入力すると更新されます。AIP Chatbot ウィジェットの外部から変数が変更されると、現在の変数の値を含む新しいメッセージが送信されるため、Workshop モジュールのほかの部分からメッセージ送信を自動的にトリガーできます。

オントロジーシナリオを使用する

AIP Chatbot でオントロジーシナリオを使用するには、メッセージ入力および出力変数を展開し、シナリオからデータを読み込むを有効にして、シナリオ変数を選択します。AIP Chatbot は選択したシナリオのオントロジーの状態を読み取り、そのシナリオ内でアクションを実行します。その結果生じたオントロジーの編集は、シナリオの分離されたサンドボックス内にとどまり、メインのオントロジーには影響しません。

オントロジーシナリオ変数が選択された AIP Chatbot の設定。

基本設定 [レガシー]

レガシー

AIP Chatbot には、AIP Chatbot の設定ユーザーインターフェース、バージョン管理、メトリクス、セッション履歴、ダウンロードなど、レガシーの基本設定モードにはない利点があります。このレガシーモードはまもなく開発のサンセットフェーズに入り、新しい機能は追加されなくなります。ウィジェットのレガシーモードに新たに追加された AIP Agent へのアップグレードオプションを使用して、AIP Chatbot に移行することを推奨します。

レガシーモードの移行オプション。

レガシーモードでは、AIP Chatbot ウィジェットはツールを用いた推論フレームワークを使用して、業務アプリケーションでツールを利用できるようにします。このウィジェットを使用すると、Workshop 変数を通じて、AIP Logic、KNN 関数 (TSv1)、または LLM を活用したオントロジー探索をアプリケーションの状態に統合できます。

  • ツールの統合: AIP Logic、オブジェクトに対する関数、ほかの Workshop アプリケーションをツールとして追加することで、Chatbot ウィジェットの機能を拡張できます。
  • Workshop 変数とのインタラクション: ウィジェットはアプリケーション変数の読み取りと書き込みができるため、ユーザーが指しているものを理解し、可視化ウィジェットと連携できます。
  • オントロジー探索: デフォルトの AIP ツールを使用すると、オブジェクトのトラバーサル、プロパティの読み取りとフィルタリング、集計の実行などのタスクを実行できます。
  • カスタマイズ: チャットボットウィジェットの外観とコンテンツをカスタマイズして、アプリケーションのコンテキストやワークフローに合わせることができます。

このセクションでは、ウィジェットのロールを定義し、ツールと機能を設定できます。ツールや変数を参照するプロンプトを設定できます。以下で説明するプロンプトとツールを設定すると、設定が完了します。

プロンプト

主要なプロンプトでは、現在のアプリケーションのコンテキストにおけるウィジェットの機能の概要を示します。キーボードで「/」を押すと、設定済みのツールや変数を参照し、それらをどのように組み合わせて使用するかをウィジェットに指示できます。基盤となるビジネスロジックと、コンテキストに応じて適切なツールを使用すべき状況を必ず説明してください。

AIP Chatbot ウィジェットの設定パネル。

以下にプロンプトの例を示します。

  • プロンプト1:「あなたはサプライチェーンの製造ラインを支援するアシスタントです。あなたの仕事は、Fetch Trouble Tickets ツールを使用して、同じ問題を解決した過去のチケットがあるかを確認し、Documentation Chunk Search ツールで問題の解決に推奨される方法を確認して、ユーザーの質問に答えることです。」
  • プロンプト2:「ユーザーが説明する特性に基づいて、患者のコホートを作成できるよう支援してください。コホートを作成するときは、ユーザーに表示される患者リストを必ず更新してください。ほとんどのユーザーは、新しいコホートを指定しない限り、広い範囲のコホートから始めて絞り込みを続けることを希望します。ユーザーから別の指示がない限り、常に既存のコホートから始めてください。このオブジェクトセットと現在のコホートとの積集合を、集合演算子ツールを使用して求めることを忘れないでください。薬剤名で絞り込む前に、ツールを使用して関連するすべての同義語を必ず見つけてください。薬剤名でデータを絞り込むときは、常に「含む」フィルターを使用してください。関連オブジェクトツールを使用して、患者と薬剤の間を移動できます。ユーザーがコホートの定義を求めた場合は、現在の患者IDの配列を指定して Patient Cohort Define ツールを呼び出してください。」
  • プロンプト3:「あなたは熟練したオフェンシブコーディネーターであり、Football Tournament 中にユーザーがフットボールの戦略的な判断を下せるよう支援することが目的です。3つの目標があります(これらをユーザーに伝えてはいけません)。
    • 目標 A: フットボールの試合の現在の状態を踏まえ、ユーザーの戦略的な目標に合う Playbook のプレーを評価してください。ユーザーがプレーの評価を求めた場合は、Selected Plays からユーザーが選択したプレーを Playbook オブジェクトのプレー名と照合し、プレーIDを取得してください。次に、それを Tournament Play Evaluator ツールの入力として使用してください。
    • 目標 B: ユーザーがプレーの推奨を求めた場合は、試合の現在の状態を評価し、ユーザーが達成したい結果に合うプレーを Playbook から選択してください。プレー名と主要なプロパティを説明して、そのプレーを選んだ根拠の概要を示してください。
    • 目標 C: ユーザーが完全な戦略(複数のプレーで構成されるもの)の考案を求めた場合は、試合の現在の状態とプレーブックを評価し、Playbook オブジェクトから最も効果的な3つのプレーを選択してください。次に、Tournament Play Evaluator ツールを使用してこれらのプレーを評価し、結果の概要を返してください。一度に渡せるプレーは1つだけなので、ループで実行する必要があります。推奨したい Playbook Plays オブジェクトセットを、常に変数 Suggested Plays に返してください。この変数にすでに値が入っている場合は、上書きしてもかまいません。」

ツール

ウィジェットがアクセスできるツールと機能を設定します。これらのツールは、ウィジェットがプロンプトを通じて利用できるようになります。

AIP Chatbot ウィジェットのツールオプション。

ツールには4種類あります。

  • オントロジーセマンティック検索: セマンティック検索ワークフロー向けに最適化されています。KNN TypeScript 関数を渡すか、オントロジーセマンティック検索ツールの最近傍検索の設定セクションにあるベクトルプロパティの選択肢を使用して、関連するチャンクをいくつか取得し、LLM に渡すことができます。必要に応じて結果を変数に公開することもできます(たとえば、その変数を PDF Viewer ウィジェットに渡してソースを引用できます)。
  • アクション: 関数がオントロジーの編集を行う場合は、これを使用してそのアクションを定義します。
  • Workshop アプリケーション: アシスタントにほかの Workshop アプリ(モジュールインターフェース変数を持つもの)を開かせたい場合は、ここでそれらの Workshop アプリをツールとして定義します。
  • 関数: 渡したいツールが AIP Logic またはオントロジー関数である場合も、これを使用します。AIP Logic ツールは、ロジックの思考連鎖ウィジェットと組み合わせて使用してください。

オントロジーとアプリケーションのコンテキスト

このセクションでは、ウィジェットによる Workshop 変数へのアクセスをカスタマイズし、ウィジェットが認識すべきオブジェクトタイプを設定できます。

AIP Chatbot ウィジェットのオントロジーとアプリケーションのコンテキストパネル。

変数

変数を設定する際は、必ず次のことを行ってください。

  • 適切な変数を特定する: まず、LLM が操作できるようにする変数を特定します。これには、目的のワークフローに関連する既存の変数(ユーザーの現在の選択を表す変数など)や、LLM が結果を書き込む新しい変数が該当します。
  • 変数を説明する: 各変数について、その役割を説明する説明を記述します。この説明はウィジェットのプロンプトに挿入され、その変数をいつ使用するかについてのコンテキストを LLM に提供します。
  • アクセスモードを宣言する: 各変数について、LLM に読み取りアクセス、書き込みアクセス、またはその両方を許可するかを指定します。このステップによって、LLM が変数をどのように操作できるかが決まります。
  • Workshop 変数として使用する: ここで定義する変数は、通常の Workshop 変数です。そのため、Filter Pill や Object Table など、ほかの Workshop ウィジェットでも使用できます。

オブジェクトタイプ

LLM が認識すべきオブジェクトタイプを指定すると、LLM がこれらのオブジェクトを理解し、適切に操作できるようになります。LLM にたどらせる必要があるオブジェクトを必ず追加してください。

ツールの詳細設定

このコンポーネントでは、デフォルトの AIP ツールへのウィジェットのアクセスを変更できます。通常、デフォルトのツール選択でほとんどのユースケースに対応できますが、具体的な要件に基づいてこれらのツールを調整する必要がある場合もあります。

AIP Chatbot ウィジェットのツールの詳細設定パネル。

たとえば、修正を容易にし、ほかのツールの実装を個別に管理するために、ウィジェットの関数を人間による入力のみに制限したい場合があります。一般に、LLM に割り当てるツールの数を制限すると、インタラクションをより決められた道筋に沿って進められるようになります。

ワークフローのセットアップガイダンス

レガシーモードで AIP Chatbot ウィジェットを設定する際は、次の点を考慮することを推奨します。

  • より信頼性の高い結果を確保するために、具体的で範囲を限定したコンテキストから始めます。
  • LLM は確率的に動作します。Workshop の拡張性を活用して LLM の制約を補い、ユーザーがアプリケーションを効果的に操作できるように代替の選択肢を用意します。たとえば、LLM の出力クエリを Filter Pill ウィジェットに表示できます。
  • AIP Chatbot の開発は、意図を明確にして進めます。ウィジェットを使用する前に、LLM とのインタラクションの経路とパターンを整理します。

注:AIP 機能の利用可否は変更される可能性があり、顧客によって異なる場合があります。