次の方法で共有


Azure AI 検索内のクエリにセマンティック ランクを追加する

検索ドキュメントに文字列フィールドが含まれ、検索ドキュメントのベクトル クエリにテキスト表現が含まれている場合、セマンティック ランク付けを、テキスト クエリ、ハイブリッド クエリ、ベクトル クエリに適用できます。

この記事では、クエリでセマンティック ランカーを呼び出す方法について説明します。 最新の安定版またはプレビューの API を使用していることを前提としています。 以前のバージョンのヘルプについては、「セマンティック ランク付けコードを移行する」を参照してください。

前提条件

Note

キャプションと回答は、検索ドキュメント内のテキストから逐語的に抽出されます。 セマンティック サブシステムは、コンピューター読み取りの理解を使用してキャプションまたは回答の特性を持つコンテンツを認識しますが、新しい文やフレーズは作成されません。 このため、セマンティック ランク付けには、説明または定義を含むコンテンツが最も適しています。 生成された応答とチャット スタイルの対話を行う場合は、取得拡張生成 (RAG) に関する記事を参照してください。

クライアントを選択する

次のツールおよび SDK のいずれかを使用して、セマンティック ランク付けを使用するクエリを作成できます。

関連性スコアリングをバイパスする機能を回避する

いくつかのクエリ機能は関連性スコアリングをバイパスするため、セマンティック ランク付けと互換性がありません。 使用するクエリ ロジックに以下の機能が含まれている場合、結果を セマンティック ランク付けすることはできません。

  • クエリに search=* を使用した場合や、純粋なフィルターのみクエリのように検索文字列が空の場合に機能しないのは、セマンティック関連性を測定する対象がないために、検索スコアがゼロになるからです。 クエリは、処理中に評価できる用語やフレーズを提供しなければなりません。

  • 特定のフィールドで並べ替え (orderBy 句) を実行すると、検索スコアとセマンティック スコアがオーバーライドされます。 セマンティック スコアがランク付けを提供することになっているため、順序付けされた結果にセマンティック ランク付けを適用すると、orderby 句を追加すると HTTP 400 エラーが発生します。

クエリを設定する

既定では、クエリはセマンティック ランク付けを使いません。 セマンティック ランク付けを使うには、2 つの異なるパラメーターを使用できます。 各パラメーターでは、異なる一連のシナリオがサポートされます。

セマンティック クエリは、searchqueryType または semanticQuery のどちらで指定するかに関係なく、プレーンテキストでなければならず、空にすることはできません。 クエリを空にすると、結果にセマンティック ランク付けが適用されません。

セマンティック ランカーのパラメーター プレーンテキスト検索 単純なテキスト検索構文 フルテキスト検索構文 ベクトル検索 ハイブリッド検索 セマンティック回答とキャプション
queryType-semantic 1
semanticQuery="<your plain text query>"2

1 queryType パラメーターが semantic に使われているため、queryType=semantic では明示的な simple または full 値をサポートできません。 有効なクエリ動作は、単純なパーサーの既定値です。

2 semanticQuery パラメーターはすべてのクエリの種類に使用できます。 ただし、Azure portal の検索エクスプローラーではサポートされていません。

パラメーターの選択に関係なく、インデックスには、豊富なセマンティック コンテンツとセマンティック構成を含むテキスト フィールドが含まれている必要があります。

検索エクスプローラー には、セマンティックの順位付けのオプションが含まれています。 Azure portal では semanticQuery パラメーターを設定できないことを思い出してください。

  1. Azure portal にサインインします。

  2. 検索インデックスを開き、[検索エクスプローラー] を選択します。

  3. [クエリ オプション] を選択します。 セマンティック構成を既に定義している場合は、既定で選択されています。 定義していない場合は、インデックスのセマンティック構成を作成します。

    検索エクスプローラーのクエリ オプションを示すスクリーンショット。

  4. クエリ (例: "historic hotel with good food") を入力し、[検索] を選択します。

  5. または、[JSON ビュー] を選んで、クエリ エディターに定義を貼り付けます。 Azure portal では semanticQuery の使用がサポートされていないため、queryType"semantic" に設定する必要があります。

    Azure portal の JSON クエリ構文を示すスクリーンショット。

    ビューに貼り付けることができるセマンティックにクエリの種類を設定する JSON の例:

    {
      "search": "funky or interesting hotel with good food on site",
      "count": true,
      "queryType": "semantic",
      "semanticConfiguration": "my-semantic-config",
      "captions": "extractive|highlight-true",
      "answers": "extractive|count-3",
      "highlightPreTag": "<strong>",
      "highlightPostTag": "</strong>",
      "select": "HotelId,HotelName,Description,Category"
    }
    

応答を評価する

最初の結果の上位 50 件の一致のみを意味的にランク付けすることができます。 すべてのクエリと同様に、応答は、取得可能としてマークされているすべてのフィールド、または select パラメーターに指定されているフィールドのみで構成されます。 応答には、元の関連性スコアが含まれます。また、要求の作成方法に応じて、カウントまたはバッチ結果が含まれる場合もあります。

セマンティック ランカーでは、意味的にランク付けされた新しい関連性スコア、強調表示されたプレーンテキストでの省略可能なキャプション、省略可能な回答という追加の要素が応答に含められます。 結果にこれらの追加の要素が含まれていない場合は、クエリが正しく構成されていない可能性があります。 問題のトラブルシューティングの最初の手順として、セマンティック構成をチェックし、それがインデックス定義とクエリの両方で指定されていることを確認します。

クライアント アプリでは、特定のフィールドの内容全体ではなく、キャプションを一致の説明として含めるように、検索ページを構成することができます。 このアプローチは、検索結果ページにおいて個々のフィールドの密度が高すぎる場合に役立ちます。

上記のクエリ例 ("サイトにレストランがある興味深いホテルと居心地の良いロビーまたは共有エリア") の応答は、3 つの回答 ("answers": "extractive|count-e") を返します。 "captions" プロパティがプレーンテキストと強調表示の各バージョンで設定されているため、キャプションが返されます。 回答を特定できない場合は、応答から省略されます。 簡潔にするために、この例では 3 つの回答と、クエリの最もスコア付けの高い結果 3 つのみを示しています。

{
  "@odata.count": 29,
  "@search.answers": [
    {
      "key": "24",
      "text": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "highlights": "Chic hotel near the city. <strong>High-rise hotel in downtown, </strong>within<strong> walking distance to </strong>theaters, art<strong> galleries, restaurants and shops.</strong> Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "score": 0.9340000152587891
    },
    {
      "key": "40",
      "text": "Only 8 miles from Downtown. On-site bar/restaurant, Free hot breakfast buffet, Free wireless internet, All non-smoking hotel. Only 15 miles from airport.",
      "highlights": "Only 8 miles from Downtown. <strong>On-site bar/restaurant, Free hot breakfast buffet, Free wireless internet, </strong>All non-smoking<strong> hotel.</strong> Only 15 miles from airport.",
      "score": 0.9210000038146973
    },
    {
      "key": "38",
      "text": "Nature is Home on the beach. Explore the shore by day, and then come home to our shared living space to relax around a stone fireplace, sip something warm, and explore the library by night. Save up to 30 percent. Valid Now through the end of the year. Restrictions and blackouts may apply.",
      "highlights": "Nature is Home on the beach. Explore the shore by day, and then come home to our<strong> shared living space </strong>to relax around a stone fireplace, sip something warm, and explore the library by night. Save up to 30 percent. Valid Now through the end of the year. Restrictions and blackouts may apply.",
      "score": 0.9200000166893005
    }
  ],
  "value": [
    {
      "@search.score": 3.2328331,
      "@search.rerankerScore": 2.575303316116333,
      "@search.captions": [
        {
          "text": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our penthouse suites offer views for miles and the rooftop plaza is open to all guests from sunset to 10 p.m. Enjoy a complimentary continental breakfast in the lobby, and free Wi-Fi throughout the hotel.",
          "highlights": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our<strong> penthouse </strong>suites offer views for miles and the rooftop<strong> plaza </strong>is open to all guests from sunset to 10 p.m. Enjoy a<strong> complimentary continental breakfast in the lobby, </strong>and free Wi-Fi<strong> throughout </strong>the hotel."
        }
      ],
      "HotelId": "50",
      "HotelName": "Head Wind Resort",
      "Description": "The best of old town hospitality combined with views of the river and cool breezes off the prairie. Our penthouse suites offer views for miles and the rooftop plaza is open to all guests from sunset to 10 p.m. Enjoy a complimentary continental breakfast in the lobby, and free Wi-Fi throughout the hotel.",
      "Category": "Suite"
    },
    {
      "@search.score": 0.632956,
      "@search.rerankerScore": 2.5425150394439697,
      "@search.captions": [
        {
          "text": "Every stay starts with a warm cookie. Amenities like the Counting Sheep sleep experience, our Wake-up glorious breakfast buffet and spacious workout facilities await.",
          "highlights": "Every stay starts with a warm cookie. Amenities like the<strong> Counting Sheep sleep experience, </strong>our<strong> Wake-up glorious breakfast buffet and spacious workout facilities </strong>await."
        }
      ],
      "HotelId": "34",
      "HotelName": "Lakefront Captain Inn",
      "Description": "Every stay starts with a warm cookie. Amenities like the Counting Sheep sleep experience, our Wake-up glorious breakfast buffet and spacious workout facilities await.",
      "Category": "Budget"
    },
    {
      "@search.score": 3.7076726,
      "@search.rerankerScore": 2.4554927349090576,
      "@search.captions": [
        {
          "text": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
          "highlights": "Chic hotel near the city. <strong>High-rise hotel in downtown, </strong>within<strong> walking distance to </strong>theaters, art<strong> galleries, restaurants and shops.</strong> Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance."
        }
      ],
      "HotelId": "24",
      "HotelName": "Uptown Chic Hotel",
      "Description": "Chic hotel near the city. High-rise hotel in downtown, within walking distance to theaters, art galleries, restaurants and shops. Visit Seattle Art Museum by day, and then head over to Benaroya Hall to catch the evening's concert performance.",
      "Category": "Suite"
    },
   . . .
  ]
}

予測されるワークロード

セマンティック ランク付けでは、検索サービスがレプリカあたり最大 10 個の同時クエリをサポートすることを想定しておく必要があります。

量が多すぎる場合、サービスによってセマンティック ランク付け要求が調整されます。 エラー メッセージに次の語句が含まれる場合、サービスがセマンティック ランク付けのキャパシティに達していることを示します。

Error in search query: Operation returned an invalid status 'Partial Content'`
@search.semanticPartialResponseReason`
CapacityOverloaded

これに近い、またはそれ以上のレベルの一貫したスループット要件が予想される場合は、私たちが皆さまのワークロードに合わせてプロビジョニングできるように、サポート チケットを提出してください。

次のステップ

セマンティックの順位付けは、キーワード検索とベクトル検索を 1 つの要求と統合された応答に結合するハイブリッド クエリで使用できます。