Partager via


Mettre à jour l’ensemble de compétences (API REST Azure AI Search)

Vous pouvez mettre à jour un ensemble de compétences et une base de connaissances existants à l’aide d’un HTTP PUT, en spécifiant le nom de l’ensemble de compétences à mettre à jour sur l’URI de la requête.

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

Notes

Les ensembles de compétences sont la base de l’enrichissement par IA dans Azure AI Search. Une ressource gratuite est disponible pour un traitement limité, mais pour les charges de travail plus volumineuses et plus fréquentes, une ressource Cognitive Services facturable est nécessaire. Pour plus d’informations, consultez Attacher une ressource Cognitive Services à un ensemble de compétences Azure AI Search.

Paramètres URI

Paramètre Description
nom du service Obligatoire. Définissez cette valeur sur le nom unique défini par l’utilisateur de votre service de recherche.
nom de l’ensemble de compétences Obligatoire. L’URI de la demande spécifie le nom de l’ensemble de compétences à mettre à jour.
api-version Obligatoire. La version stable actuelle est api-version=2020-06-30. Pour plus d’informations sur les versions, consultez Versions de l’API .
disableCacheReprocessingChangeDetection facultatif. Utilisé pour l’enrichissement incrémentiel (false par défaut). Définissez sur true pour empêcher les mises à jour des documents existants en fonction de l’action actuelle. Pour plus d’informations, consultez Gestion du cache.

En-têtes de requête

Le tableau suivant décrit les en-têtes de demande obligatoires et facultatifs.

Champs Description
Content-Type Obligatoire. À définir avec la valeur application/json
api-key Facultatif si vous utilisez des rôles Azure et qu’un jeton de porteur est fourni sur la demande, sinon une clé est requise. Une clé API est une chaîne unique générée par le système qui authentifie la demande auprès de votre service de recherche. Les demandes de mise à jour doivent inclure un api-key en-tête défini sur votre clé d’administration (par opposition à une clé de requête). Pour plus d’informations, consultez Se connecter à Azure AI Search à l’aide de l’authentification par clé .

Corps de la demande

La syntaxe du corps de la requête est la même que pour Créer un ensemble de compétences.

Lors de la mise à jour d’un ensemble de compétences existant, la définition entière est remplacée par le contenu du corps de la demande. En général, le meilleur modèle à utiliser pour les mises à jour consiste à récupérer la définition de l’ensemble de compétences avec un GET, à la modifier, puis à la mettre à jour avec PUT.

response

Pour que votre demande aboutisse, vous devez voir le code d’état « 201 créé ».

Par défaut, le corps de la réponse contient le code JSON de la définition de l’ensemble de compétences qui a été créée. Toutefois, si l’en-tête de demande Prefer est défini avec la valeur return=minimal, le corps de la réponse est vide et le code d’état de réussite est « 204 Pas de contenu » au lieu de « 201 Créé ». Cela est vrai, quelle que soit la méthode utilisée (PUT ou POST) pour créer l’ensemble de compétences.

Exemples

Exemple : Mettre à jour un ensemble de compétences

L’exemple suivant met à jour un ensemble de compétences utilisé pour enrichir une collection de documents financiers.

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

Le corps de la demande est un document JSON. Cet ensemble de compétences particulier utilise deux compétences de façon asynchrone, en traitant indépendamment la substance de /document/content comme deux transformations différentes. Vous pouvez également faire de la sortie d’une transformation l’entrée d’une autre. Pour plus d’informations, consultez Guide pratique pour définir un ensemble de compétences.

{
  "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>"
  }
}

Exemple : Supprimer la clé Cognitive Services

Si vous souhaitez mettre à jour un ensemble de compétences existant et supprimer la clé Cognitive Services qui y est attachée, modifiez la cognitiveServices section en définissant sur @odata.type#Microsoft.Azure.Search.DefaultCognitiveServices.

{
  "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"
  }
}

Voir aussi