クラシック チャットボットを Bot Framework ボットのスキルとして使用する
注意
この記事には、 Copilot Studio クラシック チャットボットにのみ適用される情報が含まれています。 この機能は新しい Copilot Studio エクスペリエンスでは利用できません。
クラシック チャットボットをa スキル としてa Bot Framework ボット とともに使用すると、 Bot Framework ボット は、ユーザーが言った内容がクラシック チャットボットの トリガー フレーズと一致するかどうかを判断します。 一致した場合、 Bot Framework ボット は会話をクラシック チャットボットに渡します。 従来のチャットボットは、任意の エンティティ を抽出し、一致する トピック をトリガーします。
また、 変数を Copilot Studio スキル トピック に入力として 渡し、 Bot Framework Composer 返される出力を使用することもできます。
重要
スキル としてクラシック チャットボットを使用するには、 試用版 またはフル ライセンス Copilot Studio が必要です。 この機能は、 Teams Copilot Studio ライセンスでは利用できません。
クラシック チャットボットを スキル として設定するには:
ダウンロードした スキル マニフェストを Bot Framework Composerで使用して、ボット間の接続を作成します 。
Bot Framework エミュレータを使用して、ボット が スキル として動作することを確認します。
前提条件
- Bot Framework スキルのしくみを理解している。
- Bot Framework Composer の使用方法を理解している。
- Bot Framework Composer でのスキルの使用方法を理解している。
- Bot Framework ボットのアプリ ID を取得している。
Bot Framework ボット をクラシックチャットボットの許可リストに追加します
Bot Framework ボット のアプリIDを、スキル として使用するクラシック チャットボットの許可リストに追加します。 ボットは同一テナント内に存在する必要があります。
Bot Framework Composer でスキルを使用するボットを開きます。 構成 を選択し、開発リソース を選択します。 Microsoft アプリ ID の ID をコピーします。
Copilot Studioで、スキル として使用するクラシック チャットボットを開きます。
ナビゲーション メニューで 設定 に移動して セキュリティ を選択します。 続いて 許可リストを選択します。
許可された呼び出し元の追加 を選択します。
Bot Framework ボットの アプリ ID を貼り付け、次へ を選択します。
注意
従来のチャットボットは、他の従来のチャットボットの スキル として機能することはできません。 Power Virtual Agent ボットに属するアプリ ID を許可リストに追加しようとすると、エラーが発生します。 Bot Framework ボットのアプリ ID のみを追加できます。
Copilot Studio Bot Framework ボット のアプリIDを検証し、同じテナント内の ボット に属していることを確認します。
(オプション) 追加したボットの表示名 を許可リストに追加します。
保存を選びます。
Bot Framework ボットは、入力した場合は表示名で表示され、表示名を入力しなかった場合はアプリ ID で表示されます。 いつでも削除または編集するには、ボットの表示名またはアプリ ID の右側にあるアイコンを選択します。
Note
許可リストに追加された Bot Framework ボットは、ボット コンテンツの一部としてエクスポート されません。
クラシック チャットボット用のクラシック チャットボット スキル マニフェストをダウンロードします
Bot Framework ボットは、 Copilot Studio スキル マニフェストを使用して、マニフェストを生成したクラシック チャットボットへの接続を構成できます。
すべてのクラシック チャットボットには スキル マニフェストがあります。 これらは、スキルの名前、インターフェース、トリガー フレーズを含む JSON ファイルです。
A Bot Framework ボット は、スキル マニフェストを使用して、クラシック チャットボットをいつ トリガー するか (たとえば、ユーザーが言った内容に対して 応答 する) を判断できます。
Copilot Studio スキル マニフェストは、追従する バージョン2.2の Bot Framework スキル マニフェスト スキーマ であり、 intents.lu および manifest.json ファイルで構成されています。
A Bot Framework ボット は、マニフェスト データに基づいて、クラシック チャットボットがユーザーのリクエストを処理するかどうかを決定する場合があります。 ユーザーが言ったことはすべて従来のチャットボットに渡されます。 次に、従来のチャットボットは、ユーザーの発言を Copilot Studio トピック と照合し、 スロット入力に必要なエンティティを抽出し、 Copilot Studio トピック をトリガーします。
Copilot Studio スキル マニフェストは自動的に生成および更新されます。 従来のチャットボットには、2つの スキル マニフェストがあります。
テスト マニフェスト: クラシック チャットボットのテスト バージョンに Bot Framework ボット から 接続 を許可します。 スキルを公開する前に、テスト マニフェストを使用して、スキルの変更を検証します。
- テスト マニフェストは、新しく作成されたすべてのクラシック チャットボットですぐに利用できます。
- クラシック チャットボットを 保存 するたびに、変更が反映されるように自動的に更新されます。
公開されたマニフェスト: クラシック チャットボットの公開バージョンに対して、 Bot Framework ボット から 接続 を許可します。
- 公開されたマニフェストは、少なくとも1回は公開されたクラシック チャットボットでのみ使用できます。
- エージェントを公開するたびに、変更が反映されるように自動的に更新されます。
両方のスキル マニフェストが 許可リストの管理 パネルに表示されます。
スキル マニフェストは、コパイロットの詳細ページにも表示されます。 ナビゲーション メニューで 設定 を選択し、詳細 を選択します。 詳細ページには、環境 ID、テナント ID、ボットのアプリ ID などのメタデータが表示されます。
マニフェストをダウンロードするには、そのマニフェストを選択します。 これは、<公開済みマニフェスト>の場合は _ ボット 名 マニフェスト、 <テスト マニフェスト>の場合は ボット 名 test__manifestというラベルの付いた .zipファイルとしてダウンロードされます。
ヒント
スキル マニフェストには、クラシック チャットボットに追加されるシステム トピックとComposerダイアログは含まれません。 ボットの作成者によって作成されたトピックと、作成者がコパイロットに追加する Composer インテント トリガーのみが含まれます。
Composerで 選択 をa Copilot Studio スキル に変更
Copilot Studio スキル マニフェストを使用して、Composerの Bot Framework ボット に スキル 接続を作成します。
Bot Framework Composer のプロジェクトで、追加 を選択し、スキルに接続 を選択します。
Copilot Studio マニフェスト .zipアーカイブを参照して 選択 し、 次へ をクリックします。
クラシック チャットボットに追加するトピックまたはインテントを 選択 して、 Bot Framework ボット し、選択 次へ を選択します。
クラシック チャットボットの トリガー フレーズを確認して編集し、選択 次へ をクリックします。
複数のボット プロジェクトにオーケストレーターを使用する が選択されていることを確認し、続行 を選択します。
Copilot Studio スキル が Bot Framework ボット に正しく追加され、クラシック チャットボットの名前が付いた新しい トリガー がComposerのプロジェクトに表示されることを確認します。
スキル マニフェストでトピックを検索する
イベントを使用して、スキル でa Copilot Studio トピック を トリガー します。 Composer から特定のトピックを呼び出すには、スキル マニフェストにある関連イベントの名前でトピックを参照します。
スキルに接続する アクションを選択します。
スキル ダイアログ名 で、スキル マニフェストを表示する を選択します。
activities をマニフェストで検索します。 このプロパティには、クラシック チャットボットで使用可能なトピックを表すネストされたプロパティが含まれています。
呼び出すトピックを検索し、name プロパティを探します。 Copilot Studio スキル がこの名前のイベントを受信すると、トピック がトリガーされます。
この例では、イベント アクティビティ名は
dispatchTo_new_topic_87609dabd86049f7bc6507c6f7263aba_33d
です。
Copilot Studio スキル トピック に電話します。
ユーザーが トリガーa Copilot Studio スキル トピック, に言う内容に依存するのではなく、直接呼び出すことができます。 直接呼び出すことができるのは、スキル マニフェストにリストされているトピックのみです。 Copilot Studio
Composer 作成キャンバスで 追加 を選択し、次に 外部リソースにアクセスする を選択して、スキルに接続する を選択します。
スキル ダイアログ名 リストで、クラシック チャットボットを 選択 します。
呼び出したいクラシック チャットボット トピック のイベント アクティビティ名を見つけます。 引用符を省略して値をコピーし、次の手順で使用するために保存します。
クローズを選択します。
活動 セクションで コードの表示 を選択します。
次のコードを入力または貼り付けます。
TOPIC_ACTIVITY_NAME
をトピックのイベント活動名に置き換えます。 name プロパティに引用符がないことを確認してください。[Activity type = event name = TOPIC_ACTIVITY_NAME ]
入力変数をa Copilot Studio スキル トピックに渡します
Bot Framework Composerは変数を入力としてa Copilot Studio スキル トピック に渡すことができます。 入力変数を受け入れるトピックを作成する方法については、「変数の操作」を参照してください Copilot Studio 。 ...
入力変数を受け取ることができる Copilot Studio トピック が スキル マニフェストにリストされている場合は、それにComposer変数を渡すことができます。
Composer 作成キャンバスで 追加 を選択し、次に 外部リソースにアクセスする を選択して、スキルに接続する を選択します。
スキル ダイアログ名 リストで、クラシック チャットボットを 選択 します。
呼び出したいクラシック チャットボット トピック のイベント アクティビティ名を見つけます。 引用符を省略して値をコピーし、次の手順で使用するために保存します。
トピックの value プロパティを検索します。 value プロパティには、$ref プロパティが含まれます。 その値をコピーして保存し、次の手順で使用します。
警告
Copilot Studio トピック に入力がない場合、 value プロパティはありません。
definitions プロパティを検索してから、前の手順で検索した $ref 値と一致するネストされたプロパティを検索します。 Copilot Studio トピック の入力の名前と型に注意してください。 次の手順で使用します。
クローズを選択します。
活動 セクションで コードの表示 を選択します。
次のコードを入力または貼り付けます。 これらの値を置き換えます:
TOPIC_ACTIVITY_NAME
をトピックのイベント活動名に置き換えます。PVA_INPUT_VARIABLE
をトピックからの入力変数に置き換えます。COMPOSER_INPUT_VARIABLE
を、値を提供する Composer 変数に置き換えます。
[Activity Type = event Name = TOPIC_ACTIVITY_NAME Value = ${addProperty(json("{}"), 'PVA_INPUT_VARIABLE', COMPOSER_INPUT_VARIABLE)} ]
この例では、Composer変数
dialog.storeLocation
が、クラシック チャットボット トピックpva_StoreLocation
の入力変数dispatchTo_new_topic_127cdcdbbb4a480ea113c5101f309089_21a34f16
に値を提供します。
a Copilot Studio スキル トピック から出力変数を受け取ります
Composerでa Copilot Studio スキル トピック からの出力を受け取ることができます。 出力を返すトピックを作成する方法については、「変数の操作」を参照してください。 Copilot Studio
Composer 作成キャンバスで 追加 を選択し、次に 外部リソースにアクセスする を選択して、スキルに接続する を選択します。
スキル ダイアログ名 リストで、クラシック チャットボットを 選択 します。
呼び出したいクラシック チャットボット トピック のイベント アクティビティ名を見つけます。 引用符を省略して値をコピーし、次の手順で使用するために保存します。
トピックの resultValue プロパティを検索します。 resultValue プロパティには、$ref プロパティが含まれます。 その値をコピーして保存し、次の手順で使用します。
警告
Copilot Studio トピック に出力がない場合、 resultValue プロパティはありません。
definitions プロパティを検索してから、前の手順で検索した $ref 値と一致するネストされたプロパティを検索します。 Copilot Studio トピック の出力変数の名前と型に注意してください。 次の手順で使用します。
この例では、 Copilot Studio トピック は、文字列型の2つの出力、 pva_State と pva_Item を返します。
クローズを選択します。
活動 セクションで コードの表示 を選択します。
次のコードを入力または貼り付けます。
TOPIC_ACTIVITY_NAME
をトピックのイベント活動名に置き換えます。 name プロパティに引用符がないことを確認してください。[Activity type = event name = TOPIC_ACTIVITY_NAME ]
コードエリアの下で、 プロパティ をComposer変数に設定し、 Copilot Studio スキル トピック.からの出力値を受信して保存します。
Composer 作成キャンバスで 追加 を選択し、次に プロパティを管理 を選択して、プロパティ設定 を選択します。
プロパティ を抽出された値を保存する Composer 値に設定します。 そのあと、値 をトピックの出力をに保存した Composer 変数に設定します。
この例では、 dialog.skillResult.pvaState と dialog.skillResult.pvaItem からの出力値が、新しいComposer変数 dialog.State と dialog.Itemに抽出されます。
クラシックチャットボットを スキル として Bot Framework ボット でテストします。
Bot Framework エミュレータ を使用して、 Bot Framework ボット がクラシック チャットボットを スキル として適切に呼び出していることをテストします。
重要
スキル 接続が機能するには、 Bot Framework ボット をクラシック チャットボットの許可リストに追加する必要があります。