QnA Maker からカスタム質問と回答への移行

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

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

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

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

SDK を移行する手順

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

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

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

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

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

    Screenshot of choose language UI screen

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

    Start Migration button that appears in a banner on qnamaker.ai

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

    Migrate QnAMaker with red selection box around the tenant selection option

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

    Migrate QnAMaker with red selection box around the QnAMaker resource selection option

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

    Migrate QnAMaker with red selection box around the language resource option currently selected resource contains the information that language is unspecified

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

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

    Migrate QnAMaker with red selection box around the knowledge base selection option with a drop-down displaying three knowledge base names

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

    注意事項

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

    Screenshot of an error message starting project names can't contain special characters

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

    Screenshot with special characters removed

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

    Screenshot of successfully migrated knowledge bases with information that you can publish by using Language Studio

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

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

    Screenshot of a failed migration with an example error

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

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

次のステップ