検索クエリの作成 は、エージェントが会話履歴で強化されたユーザーの入力の書き換えられたバージョンをキャプチャするために使用できるトピック レベルのツールです。 書き換えられたクエリは、検索や要約などのダウンストリーム タスクで使用できます。 この書き換えられた文字列は、作成者に元のクエリの構造化された明確なバージョンを提供します。このバージョンは、エージェントの目的に合わせて再利用できます。
この機能は、 カスタム検索 シナリオで特に強力です。 エージェントは、インデックス付きコンテンツにクエリを照合する方法、外部システムに渡す方法、または分析のためにログに記録する方法を完全に制御できます。
エージェントが単純な質問と回答のボットからカスタマイズされたビジネス エージェントに進化するにつれて、ユーザー クエリの整形が不可欠になります。 クエリの書き換えは、ユーザーの意図とドメイン固有の言語のギャップを埋め、より関連性の高い正確な結果を生成します。
[検索クエリの作成] を使用する場合
次のアクションを実行する場合は、検索クエリの作成 を使用します:
カスタム検索エクスペリエンスの推進
書き換えられたクエリ文字列を、独自の検索ロジックの入力として使用します。 例としては、Microsoft 以外の API のクエリ、内部ナレッジ ベースのフィルター処理、動的プロンプトの作成などがあります。
例: 書き換えられたクエリをカスタム SharePoint または SQL ベースの検索システムにフィードします。
コンテキストで関連性を高める
会話履歴を使用して、あいまいなクエリをよりターゲットに書き換えます。
例: 以前のユーザーの質問に基づいて、"フォームを表示" を "従業員オンボーディング要求フォーム" に変更します。
電源ドメイン固有の取得
書き直されたクエリを、組織の情報の分類やインデックス作成の方法に合わせて調整します。
例: 部署、時間枠、ユーザー ロールなどのタグを追加して、検索クエリをより正確にします。
検索クエリの作成の仕組み
ノードの下にある [ ノードの追加] アイコンを選択します。その後、エージェントでカスタム検索を実行します。
[ ツールの追加]、[ 検索クエリの作成] の順に選択します。
[ 検索クエリの作成 ] ノードがキャンバスに表示されます。
検索クエリの作成ツールは、次に基づいてユーザーの入力を書き換えます。
- 元の入力
- 関連する会話履歴またはコンテキスト変数
このツールは、クリーンでエンリッチされた検索文字列を、ダウンストリーム ロジックで使用するための変数として出力します。
ユースケースの例: 従業員マニュアルコパイロット
ユーザーは「休暇ポリシーについて教えてください」と言うかもしれません。
エージェントは、この要求を次のように強化します。
休暇の種類
休暇が自分のためか、他の誰かのためか
現在のポリシーと過去のポリシーのどちらが必要か
ダイアログ・フロー(簡略化されたYAML表現)
# Compose the custom search input
- kind: SetVariable
variable: Topic.SearchQueryInput
value: = "Leave policy: " & PlainText(Topic.LeaveType) &
If(Topic.ForSelf, "; for self", "; for someone else") &
"; version: " & PlainText(Topic.IsCurrentPolicy) &
"; original query: " & PlainText(Topic.UserOriginalInput)
# Generate a rewritten query using CreateSearchQuery
- kind: CreateSearchQuery
userInput: =Topic.SearchQueryInput
result: Topic.SearchQuery
# Use it in any way you want
- kind: CustomSearchOrAPI
input: =Topic.SearchQuery
最終的に書き換えられたクエリの例
休暇ポリシー: 病気; 自分のために; バージョン: 現行; 元のクエリ: 病気休暇について知りたい
この書き換えられた文字列は、次のようになります。
カスタム検索エンジンに渡されます。
外部 API 呼び出しで使用されます。
分析またはチューニングのためにログに記録されます。
確認のためにユーザーに表示されます。