Partage via


Utiliser l’API catégories personnalisées (rapide)

L’API de catégories personnalisées (rapide) vous permet de répondre rapidement aux incidents de contenu dangereux émergents. Vous pouvez définir un incident avec quelques exemples dans une rubrique spécifique pour que le service commence à détecter du contenu similaire.

Suivez ces étapes pour définir un incident avec des exemples de contenu de texte, puis analysez le nouveau contenu de texte pour voir s’il correspond à l’incident.

Important

Cette nouvelle fonctionnalité est disponible uniquement dans certaines régions Azure. Consultez Disponibilité dans les régions.

Attention

Les exemples de données de ce guide peuvent contenir du contenu offensant. Ils s’adressent à des utilisateurs avertis.

Prérequis

  • Un abonnement Azure - En créer un gratuitement
  • Une fois que vous avez votre abonnement Azure, créez une ressource Content Safety dans le portail Azure pour obtenir votre clé et votre point de terminaison. Entrez un nom unique pour votre ressource, sélectionnez votre abonnement, puis sélectionnez un groupe de ressources, une région prise en charge (voir disponibilité région) et le niveau tarifaire pris en charge. Sélectionnez ensuite Créer.
    • Le déploiement de la ressource prend quelques minutes. Une fois qu’il est terminé, sélectionnez Accéder à la ressource. Dans le volet gauche, sous Gestion des ressources, sélectionnez Clé et point de terminaison de l’abonnement. Le point de terminaison et l’une des clés sont utilisés pour appeler les API.
  • En outre, créez un conteneur de stockage d’objets blob si vous souhaitez y charger vos images. Vous pouvez également code vos images comme chaînes Base64 et les utiliser directement dans les appels d’API.
  • L'un des éléments suivants est installé :

Tester l’API de catégories personnalisées de texte (rapide)

Utilisez l’exemple de code dans cette section pour créer un incident de texte, ajoutez des exemples à l’incident, déployez l’incident, puis détectez les incidents de texte.

Créer un objet d’incident

Dans les commandes ci-dessous, remplacez <your_api_key>, <your_endpoint> et d’autres paramètres nécessaires par vos propres valeurs.

La commande suivant crée un incident avec un nom et une définition.

curl --location --request PATCH 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  "incidentName": "<text-incident-name>",
  "incidentDefinition": "string"
}'

Ajouter des exemples à l’incident

Utilisez la commande suivante pour ajouter des exemples de texte dans l’incident.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data-raw '{
  "IncidentSamples": [
    { "text":    "<text-example-1>"},
    { "text":    "<text-example-2>"},
    ...
  ]
}'

Déployer l’incident

Utilisez la commande suivante pour déployer l’incident, le rendant ainsi disponible pour l’analyse du nouveau contenu.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' 

Détecter des incidents relatifs au texte

Exécutez la commande suivante pour analyser l’exemple de contenu de texte relatif à l’incident que vous venez de déployer.

curl --location 'https://<endpoint>/contentsafety/text:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  "text":  "<test-text>",
  "incidentNames": [
    "<text-incident-name>"
  ]
}'

Tester l’API de catégories personnalisées d’image (rapide)

Utilisez l’exemple de code dans cette section pour créer un incident d’image, ajoutez des exemples à l’incident, déployez l’incident, puis détectez les incidents d’image.

Créer un incident

Dans les commandes ci-dessous, remplacez <your_api_key>, <your_endpoint> et d’autres paramètres nécessaires par vos propres valeurs.

La commande suivante crée un incident d’image :

curl --location --request PATCH 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  "incidentName": "<image-incident-name>"
}'

Ajouter des exemples à l’incident

Utilisez la commande suivante pour ajouter des exemples d’image dans votre incident. Des URL pointant vers des images dans un conteneur d’objets blob Azure peuvent constituer des exemples d’image, ou il peut s’agir de chaînes Base64.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:addIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  "IncidentSamples": [
    {
      "image": {
        "content": "<base64-data>",
        "bloburl": "<your-blob-storage-url>.png"
      }
    }
  ]
}'

Déployer l’incident

Utilisez la commande suivante pour déployer l’incident, le rendant ainsi disponible pour l’analyse du nouveau contenu.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:deploy?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' 

Détecter des incidents d’image

Utilisez la commande suivante pour charger un exemple d’image, puis le tester par rapport à l’incident déployé. Vous pouvez utiliser une URL pointant vers l’image d’un conteneur d’objets blob Azure, ou vous pouvez ajouter les données d’image comme chaîne Base64.

curl --location 'https://<endpoint>/contentsafety/image:detectIncidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
    "image": {
      "url": "<your-blob-storage-url>/image.png",
      "content": "<base64-data>"
    },
    "incidentNames": [
      "<image-incident-name>"
    ]
  }
}'

Autres opérations relatives à un incident

Les opérations suivantes sont utiles pour gérer des incidents et des exemples d’incident.

API des incidents relatifs au texte

Répertorier tous les incidents

curl --location GET 'https://<endpoint>/contentsafety/text/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Obtenir les détails de l’incident

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Supprimer l’incident

curl --location --request DELETE 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Répertorier tous les exemples sous un incident

Cette commande récupère les ID uniques de tous les exemples associés à un objet d’incident donné.

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Obtenir les détails d’un exemple d’incident

Utilisez un ID d’exemple d’incident pour rechercher des informations relatives à l’exemple.

curl --location GET 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Supprimer un exemple d’incident

Utilisez un ID d’exemple d’incident pour récupérer et supprimer cet exemple.

curl --location 'https://<endpoint>/contentsafety/text/incidents/<text-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  "IncidentSampleIds": [
    "<your-incident-sample-id>"
  ]
}'

API des incidents relatifs aux images

Obtenir la liste des incidents

curl --location GET 'https://<endpoint>/contentsafety/image/incidents?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Obtenir les détails de l’incident

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Supprimer l’incident

curl --location --request DELETE 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Répertorier tous les exemples sous un incident

Cette commande récupère les ID uniques de tous les exemples associés à un objet d’incident donné.

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Obtenir les détails de l’exemple d’incident

Utilisez un ID d’exemple d’incident pour rechercher des informations relatives à l’exemple.

curl --location GET 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>/incidentsamples/<your-incident-sample-id>?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>'

Supprimer l’exemple d’incident

Utilisez un ID d’exemple d’incident pour récupérer et supprimer cet exemple.

curl --location 'https://<endpoint>/contentsafety/image/incidents/<image-incident-name>:removeIncidentSamples?api-version=2024-02-15-preview' \
--header 'Ocp-Apim-Subscription-Key: <your-content-safety-key>' \
--header 'Content-Type: application/json' \
--data '{
  "IncidentSampleIds": [
    "<your-incident-sample-id>"
  ]
}'