QnA Maker ナレッジ ベースからカスタム質問応答に移行する

Azure AI Language の機能であるカスタム質問応答は 2021 年 5 月に導入され、ディープ ラーニング ランカーを使用した関連性の強化、正確な回答、エンドツーエンドのリージョン サポートなど、いくつかの新機能を備えています。 カスタム質問と回答プロジェクトは、QnA Maker のナレッジ ベースに相当します。 QnA Maker リソースのナレッジ ベースを言語リソース内のカスタム質問と回答プロジェクトに簡単に移行できます。 また、複数の QnA Maker リソースから特定の言語リソースにナレッジ ベースを移行することもできます。

ナレッジ ベースを正常に移行するには、移行を実行するアカウントに、 選択した QnA Maker および言語リソースへの共同作成者のアクセス権が必要です。 ナレッジ ベースを移行すると、次の詳細が新しいカスタム質問と回答プロジェクトにコピーされます。

  • アクティブ ラーニングの提案を含む QnA のペア。
  • QnA Maker リソースからの同意語と既定の回答。
  • ナレッジ ベース名がプロジェクトの説明フィールドにコピーされます。

ロールベースのアクセス制御 (RBAC) などのリソース レベルの設定は、新しいリソースには移行されません。 これらのリソース レベルの設定は、移行後に言語リソースに対して再構成する必要があります。 また、言語リソースの分析を再び有効 にする必要があります。

SDK を移行する手順

この SDK 移行ガイドは、以前の Microsoft.Azure.CognitiveServices.Knowledge.QnAMaker から新しいカスタム質問応答クライアント ライブラリ Azure.AI.Language.QuestionAnswering への移行に役立つことを目的としています。 2 つのパッケージ間で似た操作を併記して比較することに焦点を当てます。

ナレッジ ベースを移行する手順

下の手順に従って、ナレッジ ベースを移行できます。

  1. 事前にカスタム質問と回答が有効になっている言語リソースを作成します。 Azure portal で言語リソースを作成するとき、カスタム質問応答を有効にするオプションが表示されます。 そのオプションを選んで続けると、ナレッジ ベースの保存に関する Azure Search の詳細の指定を求められます。

  2. 複数の言語のナレッジ ベースを言語リソースに追加したい場合は、Language Studio にアクセスして最初のカスタム質問と回答プロジェクトを作成し、以下のように最初のオプションを選択します。 言語リソースの言語設定は、プロジェクトの作成時にのみ指定できます。 単一言語の既存のナレッジ ベースを言語リソースに移行する場合は、この手順を省略できます。

    言語選択 UI 画面のスクリーンショット。

  3. https://www.qnamaker.ai にアクセスし、ナレッジ ベース ページの移行メモで [移行の開始] を選択します。 移行を開始するためのダイアログ ボックスが開きます。

    qnamaker.ai のバナーに表示される [移行の開始] ボタン。

  4. 移行を開始するために必要な詳細情報を入力します。 テナントが自動的に選択されます。 テナントの切り替えを選択できます。

    QnAMaker の移行で、テナント選択オプションの周りに赤い選択ボックスが表示されている

  5. 移行するナレッジ ベースを含む QnA Maker リソースを選択します。

    QnAMaker の移行で、QnAMaker リソースの選択オプションの周りに赤い選択ボックスが表示されている

  6. ナレッジ ベースの移行先の言語リソースを選びます。 カスタム質問応答が有効になっている言語リソースのみが表示されます。 言語リソースの言語設定がオプションに表示されます。 言語設定が指定されていない場合、QnA Maker リソースから言語リソースに複数の言語のナレッジ ベースを移行することはできません。

    QnAMaker の移行で、言語リソース オプションの周りに赤い選択ボックスが表示されており、現在選択されているリソースには、言語が指定されていないという情報が含まれている

    複数の言語のナレッジ ベースを言語リソースに移行する場合は、言語リソースの最初のカスタム質問と回答プロジェクトを作成するときに、複数の言語の設定を有効にする必要があります。 これを行うには、手順 2 の指示に従ってください。 言語リソースの言語設定が指定されていない場合は、選択された QnA Maker リソースの言語が割り当てられます

  7. 移行するすべてのナレッジ ベースを選んで、[次へ] を選択します。

    QnAMaker の移行で、ナレッジ ベースの選択オプションの周りに赤い選択ボックスが表示されており、3 つのナレッジ ベース名が表示されたドロップダウンがある

  8. 移行する予定のナレッジ ベースを確認できます。 プロジェクト名にいくつかの検証エラーが発生する可能性があります。これは、カスタム質問と回答プロジェクトの厳密な検証規則に従っているためです。 無効な文字が原因で発生するこれらのエラーを解決するには、チェック ボックス (赤) を選択し、[次へ] を選びます。 これは、名前の中の問題のある文字を、受け入れ可能な文字に置き換えるワンクリックの方法です。 重複がある場合は、システムによって新しい一意のプロジェクト名が生成されます。

    注意事項

    ターゲット言語リソースに既に存在するプロジェクトと同じ名前のナレッジ ベースを移行する場合、選択したナレッジ ベースの内容でプロジェクトの内容が上書きされます

    プロジェクト名に特殊文字は使用できないことを示すエラー メッセージのスクリーンショット。

  9. 検証エラーを解決したら、[移行の開始] を選択します

    特殊文字が削除された状態のスクリーンショット。

  10. 移行が完了するまでに数分かかります。 進行中の移行を取り消さないでください。 移行後、Language Studio 内の移行されたプロジェクトに移動できます。

    Language Studio を使って公開できる情報が表示されている、正常に移行されたナレッジ ベースのスクリーンショット。

    カスタム質問と回答プロジェクトへの移行に失敗したナレッジ ベースがある場合は、エラーが表示されます。 最も一般的な移行エラーは、次の場合に発生します。

    • ソースとターゲットのリソースが無効である。
    • 空のナレッジ ベース (KB) を移行しようとしている。
    • ターゲット リソースにリンクされている Azure Search インスタンスの上限に達した。

    失敗した移行とエラーの例のスクリーンショット。

    これらのエラーを解決したら、移行を再実行できます。

  11. 移行では、ナレッジ ベースのテスト インスタンスのみがコピーされます。 移行が完了したら、ナレッジ ベースを手動でデプロイして、テスト インデックスを運用環境のインデックスにコピーする必要があります。

次のステップ