Démarrage rapide : Analyser le contenu modal (préversion)
L’API Modal analyse les matériaux contenant à la fois du contenu image et du contenu texte pour aider à rendre les applications et les services plus sécuritaires du contenu généré par l’utilisateur(-trice) ou généré par l’IA. L’analyse d’une image et de son contenu texte associé peut conserver le contexte et fournir une compréhension plus complète du contenu.
Pour plus d’informations sur la manière dont le contenu est filtré, voir la page du concept des catégories Harm. Pour connaître les limites d’entrée de l’API, consultez la section Exigences pour les entrées de la Vue d’ensemble.
Important
Cette fonctionnalité est disponible uniquement dans certaines régions Azure. Consultez Disponibilité dans les régions.
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 et un 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. Copiez le point de terminaison et l’une des valeurs clés sur un emplacement temporaire pour une utilisation ultérieure.
- L'un des éléments suivants est installé :
- cURL pour les appels d’API REST.
- Python 3.x installé
Analyser une image avec texte
La section suivante décrit en détail un exemple de requête de modération multimodale avec cURL.
Préparez un exemple d’image
Choisissez un exemple d’image à analyser et téléchargez-le sur votre appareil.
Consultez les Exigences d’entrée pour les limitations de l’image. Si votre format est animé, le service extrait le premier frame pour effectuer l’analyse.
Vous pouvez entrer votre image par l’une des deux méthodes suivantes : flux de fichiers local ou URL de stockage d’objets blob.
- Flux de fichiers local (recommandé) : encodezvotre image en base64. Vous pouvez utiliser un site web comme codebeautify pour effectuer l’encodage. Enregistrez ensuite la chaîne encodée dans un emplacement temporaire.
- URL de stockage d’objets blob : chargez votre image sur un compte Stockage Blob Azure. Suivez le démarrage rapide stockage d’objets blob pour savoir comment procéder. Ouvrez ensuite Explorateur Stockage Azure et obtenez l’URL de votre image. Enregistrez-la dans un emplacement temporaire.
Analyser une image avec texte
Collez la commande ci-dessous dans un éditeur de texte et effectuez les modifications suivantes :
- Remplacez
<endpoint>
par l’URL de votre point de terminaison de ressource. - Remplacez
<your_subscription_key>
par votre clé. - Renseignez le champ
"image"
dans le corps avec un champ"content"
ou un champ"blobUrl"
. Par exemple,{"image": {"content": "<base_64_string>"}
ou{"image": {"blobUrl": "<your_storage_url>"}
. - Remplacez éventuellement la valeur du champ
"text"
par le texte que vous souhaitez analyser.
curl --location '<endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15-preview ' \
--header 'Ocp-Apim-Subscription-Key: <your_subscription_key>' \
--header 'Content-Type: application/json' \
--data '{
"image": {
"content": "<base_64_string>"
},
"categories": ["Hate","Sexual","Violence","SelfHarm"],
"enableOcr": true,
"text": "I want to kill you"
}'
Remarque
Si vous utilisez une URL de stockage blob, le corps de la demande se présente comme suit:
{
"image": {
"blobUrl": "<your_storage_url>"
}
}
Les champs ci-dessous doivent être inclus dans l’URL :
Nom | Requis ? | Description | Type |
---|---|---|---|
API Version | Obligatoire | Il s’agit de la version de l’API à vérifier. La version actuelle est : api-version=2024-09-15 . Exemple : <endpoint>/contentsafety/imageWithText:analyze?api-version=2024-09-15 |
String |
Les paramètres dans le corps de la requête sont définis dans ce tableau :
Nom | Description | Type |
---|---|---|
contenu ou blobUrl | (Requis) URL du contenu ou de l’objet blob de l’image. Je peux être des octets encodés en base64 ou une URL d’objet blob. Si les deux sont donnés, la requête est refusée. La taille maximale autorisée de l’image est de 7 200 x 7 200 pixels, et la taille maximale du fichier est de 4 Mo. La taille minimale de l’image est de 50 x 50 pixels. | Chaîne |
texte | (Facultatif) Texte attaché à l’image. Nous prenons en charge au maximum 1 000 caractères (points de code Unicode) dans une requête de texte. | Chaîne |
enableOcr | (Requis) Lorsque la valeur est true, notre service effectue l’OCR et analyse le texte détecté avec l’image d’entrée en même temps. Nous allons reconnaître au maximum 1 000 caractères (points de code Unicode) à partir de l’image d’entrée. Les autres seront tronqués. | Boolean |
categories | (Facultatif) C’est supposé être un tableau de noms de catégorie. Consultez le guide des catégories préjudiciables pour obtenir la liste des noms de catégorie disponibles. Si aucune catégorie n’est spécifiée, les quatre catégories sont utilisées. Nous utilisons plusieurs catégories pour obtenir des scores dans une seule requête. | Enum |
Ouvrez une fenêtre d’invite de commandes et exécutez la commande cURL.
Sortie
Les résultats de la modération des images et des textes doivent s’afficher sous la forme de données JSON dans la console. Par exemple :
{
"categoriesAnalysis": [
{
"category": "Hate",
"severity": 2
},
{
"category": "SelfHarm",
"severity": 0
},
{
"category": "Sexual",
"severity": 0
},
{
"category": "Violence",
"severity": 0
}
]
}
Les champs JSON dans la sortie sont définis ici :
Nom | Description | Type |
---|---|---|
categoriesAnalysis | Chaque classe de sortie prédite par l’API. La classification peut avoir plusieurs intitulés. Par exemple, lorsqu’une image est chargée dans le modèle de modération de l’image, elle peut être classifiée à la fois comme contenu sexuel et comme violence. Catégories préjudiciables | String |
Niveau de gravité | Niveau de gravité de l’indicateur dans chaque catégorie de préjudice. Catégories préjudiciables | Integer |