検索結果でセマンティック ランカーとリターン キャプションを構成する

メモ

Azure AI 検索は、Azure ポータル、REST API、およびAzure SDKから使用できます。 また、Foundry IQ は、エンタープライズ コンテンツを、Microsoft Foundry ポータルのエージェントの再利用可能なアクセス許可に対応したナレッジ ベースに変換するマネージド ナレッジ レイヤーです。

Important

機能、またはマークされたプロパティ (プレビュー) は、サービス レベル アグリーメントの対象ではなく、運用環境のワークロードには推奨されず、一般公開される前に変更または制約される可能性があります。 Azure AI 検索 プレビューの用語は、スタンドアロンでも一般公開されている機能の一部でも、すべてのプレビュー機能に適用されます。

セマンティック ランク付けは、最初の結果セットを反復処理し、最も意味的に関連性の高い結果をスタックの最上位に昇格させる L2 ランク付け手法を適用します。 また、最も関連性の高い用語や語句、セマンティック回答を強調表示して、 セマンティック キャプションを取得することもできます。

この記事では、セマンティック再ランク付けの検索インデックスを構成する方法について説明します。

メモ

プレビューまたは以前の API バージョンを呼び出す既存のコードがある場合は、コードの変更に関するヘルプについては、 セマンティック ランク付けコードの移行 に関するページを参照してください。

前提 条件

  • セマンティック ランク付けを提供する任意のリージョンで、Azure AI 検索を使用する。

  • リッチ テキスト コンテンツを含む既存の検索インデックス。 セマンティックランク付けは文字列 (非ベクトル) フィールドに適用され、情報または説明的なコンテンツに最適です。

  • Azure AI 検索 でオブジェクトを作成して使用するためのアクセス許可。 ロールベースのアクセスをお勧めしますが、ロールの割り当てが不可能な場合は API キーを使用できます。 詳細については、「 検索サービスへの接続」を参照してください。

  • Search Service REST API の 2026-08-01-preview バージョン。

クライアントを選択する

新しいインデックスまたは既存のインデックスにセマンティック構成を指定するには、次のツールとソフトウェア開発キット (SDK) のいずれかを使用してセマンティック構成を追加します。

セマンティック構成を追加する

一部のワークロードでは、セマンティック構成が自動的に作成されます。 エージェンティック検索と、Azure AI 検索でコンテンツのインデックスを作成するナレッジ ソースを使用している場合、生成されたインデックスには、コンテンツに対して機能するセマンティック設定が既に用意されています。

ヒント

2026-05-01-preview API バージョン以降、サポートされているエージェント検索ナレッジ ベース フローでは、明示的なセマンティック構成は必要ありません。 この例外は、クラシック セマンティック ランク付けクエリまたは古い API バージョンには適用されません。 詳細については、「 検索インデックスナレッジ ソースの作成」を参照してください。

他のワークロードの場合は、セマンティック構成を自分で設定できます。 セマンティック構成は、セマンティック ランク付けに使用されるフィールド入力を確立するインデックス内のセクションです。 セマンティック構成はいつでも追加または更新できます。リビルドは必要ありません。 複数の構成を作成する場合は、既定値を指定できます。 クエリ時に、 クエリ要求でセマンティック構成を指定するか、既定値を使用するには空白のままにします。

1 つのインデックスに最大 100 個のセマンティック構成を作成できます。

セマンティック構成には、名前と次のプロパティがあります。

プロパティ 特性
タイトル フィールド 短い文字列。理想的には 25 語以下です。 このフィールドには、ドキュメントのタイトル、製品の名前、または一意の識別子を指定できます。 適切なフィールドがない場合は、空白のままにします。
コンテンツ フィールド 自然言語形式のテキストの長いチャンクは、機械学習モデルの最大トークン入力制限に従います。 一般的な例としては、ドキュメントの本文、製品の説明、その他の自由形式のテキストなどがあります。
キーワード フィールド ドキュメントのタグなどのキーワードの一覧、または項目のカテゴリなどの説明的な用語。

指定できるタイトル フィールドは 1 つだけですが、コンテンツ フィールドとキーワード フィールドはいくつでも指定できます。 コンテンツ フィールドとキーワード フィールドの場合は、優先順位の低いフィールドが切り捨てられる可能性があるため、優先順位の高いフィールドを一覧表示します。

すべてのセマンティック構成プロパティで、割り当てるフィールドは次のようにする必要があります。

  • searchable および retrievable として属性付ける
  • Edm.String 型、Collection(Edm.String) 型、Edm.ComplexType 型の文字列サブフィールド
  1. Azure ポータルで検索サービスに移動します。

  2. 左側のナビゲーション ウィンドウの [ インデックス ] から、インデックスを選択します。

  3. [ セマンティック構成 ] を選択し、[ セマンティック構成の追加] を選択します。

    Azure ポータルにセマンティック構成を追加するオプションを示すスクリーンショット

  4. [ 新しいセマンティック構成 ] ページで、セマンティック構成名を入力し、セマンティック構成で使用するフィールドを選択します。 検索可能な文字列フィールドと取得可能な文字列フィールドのみが対象です。 コンテンツ フィールドとキーワード フィールドの優先順位を必ず一覧表示してください。

    Azure ポータルでセマンティック構成を作成する方法を示すスクリーンショット。

  5. [ 保存] を 選択して構成設定を保存します。

  6. インデックス ページでもう一度 [保存] を 選択して、セマンティック構成をインデックスに保存します。

プレリリースのセマンティック ランキング モデル (プレビュー) を有効にする

そのプロパティを提供する プレビュー REST API とプレビュー Azure SDK を使用すると、お使いのリージョンにプレリリースのセマンティック ランキング モデルがデプロイされている場合に、必要に応じてそのモデルを使用するようインデックスを構成できます。 プレリリースが使用可能かどうか、または特定のクエリで使用されたかどうかを知るためのメカニズムはありません。 このため、テスト環境でこのプロパティを使用することをお勧めします。これは、最新のセマンティック ランク付けモデルを試したい場合にのみ行うことをお勧めします。

構成プロパティは "flightingOptIn": trueされ、インデックスのセマンティック構成セクションで設定されます。 既定では、プロパティは null または false です。 作成要求または更新要求でいつでも true を設定でき、プロパティを含むセマンティック構成がクエリによって規定されていると仮定すると、セマンティック クエリに影響を与えます。

PUT https://myservice.search.windows.net/indexes('hotels')?allowIndexDowntime=False&api-version=2026-08-01-preview

{
  "name": "hotels",
  "fields": [ ],
  "scoringProfiles": [ ],
  "defaultScoringProfile": "geo",
  "suggesters": [ ],
  "analyzers": [ ],
  "corsOptions": { },
  "encryptionKey": { },
  "similarity": { },
  "semantic": {
    "configurations": [
      {
        "name": "semanticHotels",
        "prioritizedFields": {
          "titleField": {
            "fieldName": "hotelName"
          },
        "prioritizedContentFields": [
            {
              "fieldName": "description"
            },
            {
              "fieldName": "description_fr"
            }
          ],
        "prioritizedKeywordsFields": [
            {
              "fieldName": "tags"
            },
            {
              "fieldName": "category"
            }
          ],
        "flightingOptIn": true
        }
      }
    ]
  },
  "vectorSearch": {  }
}

次の手順

セマンティック クエリを実行してセマンティック構成をテストします。