10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Copilot Studio で登録した特定のナレッジのみから回答を生成させるアプローチ

Last updated at Posted at 2025-12-25

はじめに

これまで別の記事でも紹介してきた通り、Copilot Studio では、ナレッジを登録するだけで RAG システムを構築できます。

image.png

image.png

以下のように複数のナレッジを登録することもできます。

image.png

この際、利用者にカテゴリーを選ばせたり、利用者が質問した内容に応じて特定のナレッジのみから検索して回答をしてほしいという要望をいただくことがあります。複数の類似のナレッジが混ざってしまうと回答品質に影響が出る可能性があるためです。

後者は以前紹介したマルチエージェントになるかと思います。
※つまり、エージェント、ナレッジを分ける感じになります

今回は、前者のアプローチを紹介します。

アプローチ

まず、今回は、[会話の開始] システムトピックを利用します。会話を開始時にメッセージを送信した後に、以下のように質問ノードを追加してカテゴリーを選択させます。

image.png

以下のように条件ノードが自動で追加されるため、[生成型の回答] ノードを追加します。

image.png

そして、データソースの編集画面を開き、[選択したソースのみを検索する] のトグルをオンにして、ナレッジにチェックを入れます。

image.png

間に質問ノードを以下のようにして追加して、ユーザーが入力した内容を渡します。

image.png

もう一つの条件分岐も同じような感じにします。

image.png

テストしてみます。以下のようにカテゴリーの選択肢が表示されます。

image.png

カテゴリーを選択後、質問を入力すると特定のナレッジのみから検索して回答してくれています。

image.png

image.png

注意点

トピック内で [生成型の回答] ノードを追加してナレッジを検索して回答を生成するようにした場合、こちらはオーケストレーションモードではなく、クラシックモードで動作する認識のため、以下のように、指示文で入力した通りに回答してくれません。

image.png

トピックは、Power Virtual Agents の頃からある、つまり、プログラム的な感じでチャットボットを作る際の仕組みです。そのため、回答が生成できなかった場合の共同について、オーケストレーションモードの指示文ではなく、トピック内のノードを使ってプログラム的な感じで実装する必要があります。

※オーケストレーションの場合は、指示文を基に、いい感じに動いてくれることが理想です。しかし、理想通りにいかない場合は、トピックでプログラム的に実装する方法が代替案となることもあります

まず、以下のように、[生成型の回答] ノードにて、回答内容を変数に保存するよう設定を変更します。

image.png

そして、条件アクションを追加して、その変数が空かどうか判定して、空だったらメッセージを送るようにします。

image.png

テストしてみます。いい感じです。

image.png

image.png

最後に、回答後に、[会話の開始] システムトピックに戻り、選択肢を選ぶ状態に戻します。このようにした方が、利用者にとって分かりやすいと思います。

image.png

いい感じに [会話の開始] システムトピックに戻っています。

image.png

まとめ

Copilot Studio で登録した特定のナレッジのみから回答を生成させるアプローチについて紹介しました。

以前からあるアプローチですが、確実に特定のナレッジのみから検索して回答できるため、今でも一つのアプローチとして有用と考えます。参考になれば幸いです。

10
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?