Copilot Studioの「エンティティ」と「スロット充填(スロット埋込み)」について調べたのでメモ。

エンティティ
エンティティは「型定義」に似ていて、「電話番号」とか「郵便番号」とかの「情報の単位を定義」する機能。
※ややこしいけどDataverseのテーブルの旧名称「エンティティ」とは別物。
※郵便番号とかはアメリカの形式だから日本で使うエージェントでは使えないけど。。


カスタムエンティティ
自分で定義するカスタムエンティティには2種類のつくり方がある。


スロット充填
※基本的にスロット充填は「質問する」アクションで行う。


サンプル「休暇申請受付エージェント」構築
構築



「どの休暇を取りますか?」という質問をして、その回答をオプション(有給休暇、育児休暇など)から選ばせ、選んだ値を変数(今回はtype)に代入する。

「いつから取りますか?」という質問で、回答から「日付」を取り出し、変数(今回はstart)に代入する。

「何日間取りますか?」という質問で、回答から「期間」を抽出して、変数(今回はdays)に入れる。

※本当はこのあと「yes or no」を聞いて、Power Automateで「休暇残数確認」とか「休暇申請フロー(承認アクションの実行)」とかやるんだけど、今回はサンプルなので省略。

動作確認




ということで、ユーザーとのやり取りで必要な情報を定義するのが「エンティティ」で、実際の会話の中でそれらの値を抽出していくのがスロット充填。
おまけ:カスタムエンティティはエージェントごとの管理で、ソリューションに含めることも可能。






コメント