はじめに
Copilot Studio でデータベースから情報を検索して回答を返答するような AI エージェントを作成する際、利用者が入力した質問をキーワードにしたい場合があると思います。
この際、AI Builder が使って実現する方法を紹介します。
[テキストからキー フレーズを抽出する] アクションを利用する
例えば、以下のように、Copilot から質問文を受け取り、[テキストからキーフレーズを抽出する] アクションで質問からキーワードを抽出することができます。
※記事執筆時点で、Power Automate の新しいデザイナーで上手く Copilot のアイコンが表示されないため、以降、クラシックデザイナーに変更します
実行すると以下のようになります。「パソコンの電源が入らない場合はどうすればいいですか?」という質問から、「パソコン」と「電源」というキーワードが抽出されました。
AI Builder のアクションの結果は配列形式のため、一度、「phrase」列だけ取り出して、最終的に以下のようにスペースで区切った一つの文字列にしてあげます。
そして、その結果を検索キーワードとして利用します。以下は、Dataverse のテーブルを検索する例です。
しかし、質問次第では上手く検索キーワードを抽出できない場合もあります。以下の場合、Power Automate for desktop の情報を上手く抽出できていないようです。
※タイミングにもよるかもしれません。。
想定される質問でテストを重ねた結果、こちらの方法では上手く検索キーワードを抽出できなさそうな場合は、もう一つのアプローチを検討ください。
プロンプトを利用する
プロンプトの作成
まず、テキストからキーワードを抽出するプロンプトを作成します。
出力を JSON 形式にします。
[
{
"phrase": "キーワード1"
},
{
"phrase": "キーワード2"
},
{
"phrase": "キーワード3"
}
]
テストしてみます。いい感じです。
プロンプトを保存します。
Power Automate からプロンプトを利用する
以下のようにして、Power Automate からプロンプトを利用します。
一つ目のやつと同じような感じにするのであれば、プロンプトの出力結果を以下のようにして一旦配列変数に格納し、[結合] アクションを実行し、さいしゅうてきにスペースで区切った一つの文字列にしてあげます。
※なお、[Apply to each] アクションを避けたい場合は、以下のように、選択アクションと結合アクションを使います。
まとめ
今回は、AI Builder を使って、質問から検索キーワードを抽出するアプローチについて整理しました。
Copilot Studio でデータベースから情報を検索して回答を返答するような AI エージェントを作成する際など、質問から情報を検索するようなものを Power Platform で作成する際の参考になれば幸いです。