スキルセットの更新 (Azure AI Search REST API)

要求 URI で更新する スキルセット の名前を指定して、HTTP PUT を使用して既存のスキルセットと ナレッジ ストア を更新できます。

PUT https://[servicename].search.windows.net/skillsets/[skillset name]?api-version=[api-version]
  Content-Type: application/json
  api-key: [admin key]

注意

スキルセットは、Azure AI Search の AI エンリッチメント の基礎です。 制限付き処理には無料のリソースを使用できますが、より大規模で頻繁なワークロードの場合は、課金対象の Cognitive Services リソースが必要です。 詳細については、「 Cognitive Services リソースを Azure AI Search スキルセットにアタッチする」を参照してください。

URI パラメーター

パラメーター 説明
サービス名 必須。 これを検索サービスの一意のユーザー定義名に設定します。
スキルセット名 必須。 要求 URI は、更新するスキルセットの名前を指定します。
api-version 必須。 現在の安定バージョンは です api-version=2020-06-30。 その他 のバージョンについては、「API のバージョン 」を参照してください。
disableCacheReprocessingChangeDetection 省略可能。 インクリメンタル エンリッチメントに使用されます (false 既定)。 現在のアクションに基づいて既存のドキュメントが更新されないようにするには、 を に true 設定します。 詳細については、「 キャッシュ管理」を参照してください。

要求ヘッダー

次の表では、必須と省略可能の要求ヘッダーについて説明します。

フィールド 説明
Content-Type 必須。 これを application/json
api-key Azure ロールを使用していて、要求でベアラー トークンが提供されている場合は省略可能。それ以外の場合はキーが必要です。 api-key は、検索サービスに対する要求を認証する一意のシステム生成文字列です。 更新要求には、(クエリ キーではなく) 管理者キーに設定されたヘッダーを含める api-key 必要があります。 詳細については、「 キー認証を使用して Azure AI Search に接続 する」を参照してください。

要求本文

要求本文の構文は、 Create Skillset の場合と同じです。

既存のスキルセットを更新すると、定義全体が要求本文の内容に置き換えられます。 一般に、更新に使用する最適なパターンは、GET を使用してスキルセット定義を取得し、それを変更してから PUT で更新することです。

Response

要求が成功した場合は、状態コード "201 Created" が表示されます。

既定では、応答本文には作成されたスキルセット定義の JSON が含まれます。 ただし、Prefer 要求ヘッダーが return=minimal に設定された場合、応答本文は空になり、成功の状態コードは "201 Created" ではなく "204 No Content" になります。 これは、スキルセットを作成するのに PUT または POST のどちらが使用されかに関わらず同じです。

例: スキルセットを更新する

次の例では、財務ドキュメントのコレクションをエンリッチするために使用されるスキルセットを更新します。

PUT https://[servicename].search.windows.net/skillsets/financedocenricher?api-version=2020-06-30
api-key: [admin key]
Content-Type: application/json

要求の本文は JSON ドキュメントです。 この特定のスキルセットは、2 つの異なる変換として の実体 /document/content を個別に処理する 2 つのスキルを非同期的に使用します。 あるいは、1 つの変換の出力を、別の変換の入力に向けることができます。 詳細については、スキルセットを定義する方法に関するページをご覧ください。

{
  "name": "financedocenricher",
  "description": 
  "An updated version of a skillset used to extract sentiment from financial records, extract company names, and then find additional information about each company mentioned. This version changes the target names.",
  "skills":
  [
    {
      "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
      "categories": [ "Organization" ],
      "defaultLanguageCode": "en",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "organizations",
          "targetName": "companies"
        }
      ]
    },
    {
      "@odata.type": "#Microsoft.Skills.Text.SentimentSkill",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "score",
          "targetName": "positivityscore"
        }
      ]
    },
  ],
  "cognitiveServices": 
  {
  "@odata.type": "#Microsoft.Azure.Search.CognitiveServicesByKey",
  "description": "mycogsvcs resource in West US 2",
  "key": "<your key goes here>"
  }
}

例: Cognitive Services キーを削除する

既存のスキルセットを更新し、それにアタッチされている Cognitive Services キーを削除する場合は、 を に#Microsoft.Azure.Search.DefaultCognitiveServices設定してセクションを@odata.type変更cognitiveServicesします。

{
  "name": "financedocenricher"
  "skills":
  [
    {
      "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
      "categories": [ "Organization" ],
      "defaultLanguageCode": "en",
      "inputs": [
        {
          "name": "text",
          "source": "/document/content"
        }
      ],
      "outputs": [
        {
          "name": "organizations",
          "targetName": "companies"
        }
      ]
    },
  ],
  "cognitiveServices": 
  {
  "@odata.type": "#Microsoft.Azure.Search.DefaultCognitiveServices"
  }
}

こちらもご覧ください