#BotFramework Emulator の機能 #5 ~ 外部サービス (LUIS, QnA Maker) の接続管理

Bot Framework Emulator の機能紹介の 5回目です。

  1. テストクライアント機能
  2. Bot 作成手順の確認
  3. bot ファイル (設定ファイル) の暗号化・復号化
  4. Bot アプリのエンドポイント管理
  5. 外部サービス (LUIS, QnA Maker) の接続管理(今回)
  6. LUIS 再学習
  7. chat ファイル (会話セットの設計) の閲覧
  8. transcript ファイル (保存済み実行結果) の閲覧

今回は、外部サービスの接続管理を紹介します。

Bot アプリケーションが単独で動作することは、まずあり得ません。単独で動作するのは EchoBot(オウム返し Bot)とか電卓 Bot くらいですね。

ほとんどの Bot は外部のサービスと連携して、ユーザーの入力に対して適切な回答を返すものです。
外部サービスの中でも LUIS と QnA Maker は特によく使われるものだと思います。Bot Framework Emulator には、これらの接続を管理する機能があります。


サービスへの新規接続

LUIS, QnA Maker に新規に接続するには、Emulator の [SERVICES] – [+] をクリックします。
メニューが開いたら接続するサービスを選択します。

なお当然ですが、Bot アプリケーションから接続する前に対象のサービスを作成しておく必要があります。
この手順については本稿では省略します。

メニュー項目に “Dispatch” というものがあります。
これは複数の LUIS モデル、複数の QnA Maker ナレッジベースに接続する Bot アプリケーションで、どのモデル・ナレッジベースから回答を得るべきかの “振り分け” を行うものです。
Dispatch については別の機会に紹介するとして、今回は「振り分け用の LUIS」だという点だけ理解しておいてください。


LUIS, QnA Maker それぞれでポップアップが表示されます。
私の環境では [Sign in with Azure] を選択するとエラーとなるので、[manually] リンクをクリックして必要な情報を入力しています。


接続済みのサービスへの操作

接続済みのサービスに対しては、まずは設定値の編集機能があります。
各サービスで Key を変更したなどの場合に、Bot Framework Emulator で変更後の値を入力しなおします。

編集するサービスで右クリックして [Edit configuration] を選択します。
新規作成の時と同じダイアログが開くので、新しい値を入力してください。

不要になったサービス接続を削除するには、右クリックのメニューで [Disconnect this service] を選択します。

接続済みサービス名の右クリックで表示されるメニューの中には [Manage service] があります。
これは対象のサービスの管理ポータルをブラウザーで開く機能です。

ブラウザーを起動して LUIS や QnA Maker のサイトに接続してサービスを選択する、という手順を簡単にするものです。
開発中に各サービスの再学習をしたいなどはよくあると思います。この時に便利な機能です。

Emulator ではできない接続管理

LUIS, QnA Maker については簡単に接続管理できる Emulator ですが、現在の V4 ではかけている部分もあります。

  • Application Insights
  • Blob Storage
  • Cosmos DB
  • Azure Acrive Director

などのサービスに、 Bot アプリケーションから接続したいことはよくあります。
が、これらの接続管理は Emulator ではできません・・・。

ではどうするかというと、今のところは結局 bot ファイルをテキストエディターで編集しなければなりません。

Application Insights, Blob Storage, Cosmos DB については既定のフォーマットがあります。

Application Insights

    {
      "type": xxx",
      "apiKeys": {},
      "applicationId": "xxx",
      "id": "<重複しない任意の文字列>",
      "instrumentationKey": "xxx",
      "name": "xxx",
      "resourceGroup": "xxx",
      "serviceName": "xxx",
      "subscriptionId": "xxx",
      "tenantId": "xxx"
    },

Blob Storage

    {
      "type": "xxx",
      "connectionString": "xxx",
      "container": "transcripts",
      "id": "<重複しない任意の文字列>",
      "name": xxx",
      "resourceGroup": "xxx",
      "serviceName": "xxx",
      "subscriptionId": "xxx",
      "tenantId": "xxx"
    },

Cosmos DB

    {
      "type": "cosmosdb",
      "collection": "xxx",
      "database": "xxx",
      "endpoint": "xxx",
      "id": "<重複しない任意の文字列>",
      "key": "xxx",
      "name": "xxx",
      "resourceGroup": "xxx",
      "serviceName": "xxx",
      "subscriptionId": "xxx",
      "tenantId": "xxx"
    },

Azure Active Directory

Azure Active Directory については、”Generic” 型の書式を使います。
AAD については専用のフォーマットはなく、汎用の書式を使うようです。

    {
      "type": "generic",
      "name": "Authentication",
      "configuration": {
        "Azure Active Directory v2": "xxx"
      },
      "id": "<重複しない任意の文字列>"
    }

汎用の “generic” 型は任意の外部サービスに対して定義できるので覚えておくといいでしょう。”configumation” エンティティ内に自由に設定項目を増やせるのがポイントですね。


LUIS, QnA Maker の接続管理もEmulator でなくてもできる操作ですが・・・

以上が Bot Framework Emulator の、外部サービス接続管理機能です。

いずれも “.bot” ファイルをテキストエディターで開いて直接編集することでもできる機能です。
ただしその場合は、bot ファイルの暗号化に気をつけてください。暗号化されたままの bot ファイルをテキストエディターで編集すると壊れて Bot アプリが動作しなくなります。

また Bot Buider CLI tools でもできる操作でもあります。
これは安全な編集方法ではありますが、引数のタイプミスなどによるトラブルは意外と見つけづらいことがあります。

ミスなく、操作方法を覚える必要もないという点で、Bot Framework Emulator で外部サービスへの接続管理できることを覚えておくといいでしょう。

広告
カテゴリー: Bot Builder SDK, Bot Framework, Bot Service, Cogbot パーマリンク

#BotFramework Emulator の機能 #5 ~ 外部サービス (LUIS, QnA Maker) の接続管理 への7件のフィードバック

  1. ピンバック: #BotFramework Emulator の機能 #4 ~ Bot アプリのエンドポイント管理 | 技術との戯れ

  2. ピンバック: #BotFramework Emulator の機能 #3 ~ bot ファイルの暗号化・復号化 | 技術との戯れ

  3. ピンバック: #BotFramework Emulator の機能 #2 ~ Bot 作成手順の確認 | 技術との戯れ

  4. ピンバック: #BotFramework Emulator の機能 #1 ~ Bot アプリケーションのテストクライアント機能 | 技術との戯れ

  5. ピンバック: #BotFramework Emulator の機能 #6 ~ LUIS 再学習 | 技術との戯れ

  6. ピンバック: #BotFramework Emulator の機能 #7 ~ chat ファイル (会話セットの設計) の閲覧 | 技術との戯れ

  7. ピンバック: #BotFramework Emulator の機能 #8 ~ transcript ファイル (保存済み実行結果) の閲覧 | 技術との戯れ

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中