Utilisez l'API des catégories personnalisées (rapide) (aperçu)
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é :
- cURL pour les appels d’API REST.
- Python 3.x 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\": \"<test-incident>\", \"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>\"
]
}'