読者です 読者をやめる 読者になる 読者になる

ホワイトプログラマー

40歳からSEを辞めてプログラマになりました

QnA Makerでナレッジベースを切り替える方法

MicrosoftがプレビューリリースしたQnA Makerは簡単にAIを採用したFAQシステムが作成できる。 サンプル作りました的な情報を挙げてくれるサイトはいくつか存在する。例えば以下。

www.microsoft.com

ただ、実際に進めていて、サービス(ナレッジベース)の切り替えはプログラムからどうすればよいんだろうと少し悩んだのでメモしておく。今回はc#を利用。

1.Azureのbot serviceからQnA Makerを利用する場合、以下のようなサンプルプログラムが用意される。

    public BasicQnAMakerDialog() : base(

        new QnAMakerService(
            new QnAMakerAttribute(
                
                    Utils.GetAppSetting("QnASubscriptionKey"),
                    Utils.GetAppSetting("QnAKnowledgebaseId")
                )
            )
        )

2.QnAで新しくサービスを作成した場合はソースコードを修正するのではなく、AzurePortalからApplication Settingsを使用して変更する。

f:id:sabburo:20170118063926p:plain

3.アプリ設定にプログラムから利用できるキーが登録されているので、その値を修正する。 今回はQnAKnowledgebaseIdとQnASubscriptionKeyとなる。

f:id:sabburo:20170118064601p:plain

なお、登録するための値はQnA Makerログイン後の、画面上部のMy servicesから取得できる。 QnAKnowledgebaseIdとQnASubscriptionKeyの関係は以下の通り。 f:id:sabburo:20170118065035p:plain

以上