Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un analyseur dans Azure Content Understanding dans Foundry Tools est une unité de traitement configurable qui définit la façon dont votre contenu doit être analysé et quelles informations doivent être extraites. Considérez un analyseur comme une recette qui indique au service :
- Type de contenu à traiter (documents, images, audio ou vidéo)
- Éléments à extraire (texte, disposition, tableaux, champs, transcriptions)
- Comment structurer la sortie (markdown, champs JSON, segments)
- Quels modèles IA utiliser pour le traitement
Les analyseurs sont les principaux blocs de construction de Content Understanding. Ils combinent l’extraction de contenu, l’analyse basée sur l’IA et la sortie de données structurées dans une configuration unique et réutilisable. Vous pouvez utiliser des analyseurs prédéfinis pour des scénarios courants ou créer des analyseurs personnalisés adaptés à vos besoins spécifiques.
Types d’analyseurs
Content Understanding fournit plusieurs types d’analyseurs :
-
Analyseurs de base : analyseurs fondamentaux qui fournissent des fonctionnalités de traitement de base pour chaque type de contenu (
prebuilt-document, ,prebuilt-audioprebuilt-video,prebuilt-image). Ces analyseurs sont généralement utilisés comme blocs de construction pour les analyseurs personnalisés. -
Analyseurs RAG : optimisé pour les scénarios de génération augmentée de récupération, extraction de contenu avec compréhension sémantique pour les applications de recherche et d’IA (ex.
prebuilt-documentSearch,prebuilt-videoSearch). -
Analyseurs spécifiques au domaine : préconfigurés pour des types de documents et industries spécifiques, tels que les factures, les reçus, les documents d’ID et les contrats (ex.
prebuilt-invoice,prebuilt-receipt,prebuilt-idDocument). - Analyseurs personnalisés : Analyseurs que vous créez en étendant les analyseurs de base avec des schémas et des configurations de champs personnalisés pour répondre à vos besoins spécifiques.
Pour plus d’informations et une liste complète des analyseurs spécifiques au domaine disponibles, consultez analyseurs prédéfinis.
Structure de configuration de l’analyseur
Une configuration d’analyseur est définie à l’aide d’un objet JSON qui contient plusieurs propriétés de niveau supérieur. Vous pouvez configurer les composants suivants :
-
Propriétés de l’analyseur - Identité et métadonnées principales
- analyzerId - Identificateur unique
- nom - Nom d'affichage
- description - Description de l’objectif
- baseAnalyzerId - Référence de l’analyseur parent
-
Configuration du modèle - Paramètres du modèle IA
- modèles - Modèles par défaut
-
Configuration du traitement - Options de traitement du contenu
- config - Paramètres de comportement
-
Schéma de champ - Extraction de données structurées
- fieldSchema - Définitions de champ
Voici un exemple condensé montrant la structure globale d’une configuration d’analyseur :
{
"analyzerId": "my-custom-invoice-analyzer",
"description": "Extracts vendor information, line items, and totals from commercial invoices",
"baseAnalyzerId": "prebuilt-document",
"config": {
...
"enableOcr": true
...
},
"fieldSchema": {...}
}
},
"models": {
"completion": "gpt-4.1",
"embedding": "text-embedding-3-large"
}
}
Propriétés de l’analyseur
Ces propriétés identifient et décrivent de manière unique votre analyseur :
analyzerId
- Description: Identificateur unique de l’analyseur. Cet identificateur est la façon dont vous référencez l’analyseur dans les appels d’API.
-
Exemple :
"prebuilt-invoice","my-custom-analyzer" -
Lignes directrices:
- Utiliser des noms descriptifs qui indiquent l’objectif de l’analyseur
- Pour les analyseurs personnalisés, choisissez des noms qui ne sont pas en conflit avec les noms d’analyseurs prédéfinis
- Utiliser des minuscules avec des traits d’union pour la cohérence
name
- Description: Nom d’affichage lisible par l’utilisateur affiché dans les interfaces utilisateur et la documentation
-
Exemple :
"Invoice document understanding","Custom receipt processor"
description
- Description: Brève explication de ce que fait l’analyseur et du contenu qu’il traite. Cette description est utilisée comme contexte par le modèle IA lors de l’extraction de champs, de sorte que les descriptions claires améliorent la précision de l’extraction.
-
Exemple:
"Analyzes invoice documents to extract line items, totals, vendor information, and payment terms" -
Lignes directrices:
- Soyez spécifique sur ce que l’analyseur extrait
- Mentionner les types de contenu qu’il prend en charge
- Gardez-le concis mais informatif
- Écrire des descriptions claires au fur et à mesure qu’elles guident la compréhension du modèle IA
baseAnalyzerId
- Description: Fait référence à un analyseur parent à partir duquel cet analyseur hérite de la configuration
-
Analyseurs de base pris en charge :
-
"prebuilt-document"- pour les analyseurs personnalisés basés sur des documents -
"prebuilt-audio"- pour les analyseurs personnalisés basés sur l’audio -
"prebuilt-video"- pour les analyseurs personnalisés basés sur des vidéos -
"prebuilt-image"- pour les analyseurs personnalisés basés sur des images
-
-
Exemple:
"baseAnalyzerId": "prebuilt-document"
Note
Lorsque vous spécifiez un analyseur de base, votre analyseur personnalisé hérite de toutes les configurations par défaut et peut remplacer des paramètres spécifiques.
Configuration du modèle
models
-
Description: Spécifie les noms de modèles Foundry à utiliser lors du traitement avec cet analyseur. Il s’agit des noms de modèle (et non des noms de déploiement) utilisés par le service. Ils doivent correspondre à l’un des
supportedModelsde l’analyseur de base. La liste complète des modèles pris en charge par Content Understanding est listée sur les modèles pris en charge. -
Propriétés :
-
completion- Nom du modèle pour les tâches d’achèvement (extraction de champ, segmentation, analyse de la figure, etc.) -
embedding- Nom du modèle pour les tâches d’incorporation (à l’aide d’une base de connaissances)
-
- Important: Il s’agit de noms de modèles du catalogue Foundry, et non des noms de déploiement. Au moment de l’exécution, le service mappe ces noms de modèle aux déploiements de modèles réels que vous configurez au niveau de la ressource.
-
Exemple :
{ "completion": "gpt-4o", "embedding": "text-embedding-3-large" }
Pour plus d’informations sur la configuration des modèles connectés, voir Connecter votre ressource Content Understanding avec les modèles Foundry .
Configuration du traitement
L’objet config contient toutes les options de traitement qui contrôlent la façon dont le contenu est analysé. Ces options sont divisées en catégories en fonction des fonctionnalités :
Propriétés de l’objet config
Options générales
returnDetails
- Valeur par défaut : false (varie selon l’analyseur)
- Description: Détermine s’il faut inclure des informations détaillées dans la réponse (scores de confiance, zones englobantes, étendues de texte, métadonnées)
-
Quand les utiliser :
- Défini sur
truelors du débogage des problèmes d’extraction - Quand vous avez besoin d’informations d’emplacement pour les données extraites
- Lorsque les scores de confiance sont requis pour la validation
- Pour l’assurance qualité et les tests
- Défini sur
- Impact sur la réponse : Augmente considérablement la taille de réponse avec plus de métadonnées
Options d’extraction de contenu de document
enableOcr
- Valeur par défaut : true
- Description: Permet à la reconnaissance optique de caractères d’extraire du texte à partir d’images et de documents numérisés
-
Quand les utiliser :
- Activer les documents numérisés, les photos et les fichiers PDF basés sur des images
- Désactiver les fichiers PDF numériques natifs pour améliorer les performances
- Pris en charge par : Analyseurs de documents
enableLayout
- Valeur par défaut : true
- Description: Extrait les informations de disposition, y compris les paragraphes, les lignes, les mots, l’ordre de lecture et les éléments structurels
-
Quand les utiliser :
- Requis pour comprendre la structure et la hiérarchie des documents
- Nécessaire pour l’extraction précise des paragraphes et des sections
- Désactiver si seule l’extraction de texte brut est nécessaire
- Pris en charge par : Analyseurs basés sur des documents
enableFormula
- Valeur par défaut : true
- Description: Détecte et extrait des formules mathématiques et des équations au format LaTeX
-
Quand les utiliser :
- Activer pour les articles scientifiques, les documents de recherche, la documentation technique
- Désactiver pour les documents professionnels généraux afin d’améliorer les performances
- Pris en charge par : Analyseurs basés sur des documents
enableBarcode
- Valeur par défaut : true
- Description: Détecte et extrait des codes-barres et des codes QR, en retournant les valeurs décodées
-
Quand les utiliser :
- Activer pour les documents d’inventaire, les étiquettes d’expédition, la documentation produit
- Désactiver lorsque les codes-barres ne sont pas présents pour améliorer les performances
- Pris en charge par : Analyseurs basés sur des documents
- Types de codes-barres pris en charge : QR Code, PDF417, UPC-A, UPC-E, Code 39, Code 128, EAN-8, EAN-13, DataBar, Code 93, Codabar, ITF, Micro QR Code, Aztec, Data Matrix, MaxiCode
Options de tableau et de graphique
tableFormat
-
Par défaut:
"html" -
Valeurs prises en charge :
"html","markdown" - Description: Spécifie le format de sortie pour les tables extraites
-
Quand les utiliser :
- Utilisation
"html"pour le rendu web ou lorsque des structures de table complexes ont besoin de préservation - Utiliser
"markdown"pour des tables simples dans la documentation ou le traitement textuel
- Utilisation
- Pris en charge par : Analyseurs basés sur des documents
chartFormat
-
Par défaut:
"chartjs" -
Valeurs prises en charge :
"chartjs" - Description: Spécifie le format des données extraites de graphiques et de tableaux (compatibles avec la bibliothèque Chart.js)
-
Quand les utiliser :
- Lors de l’extraction de données à partir de graphiques à barres, graphiques en courbes, graphiques en secteurs
- Conversion de graphiques en données structurées pour le réaffichage
- Pris en charge par : Analyseurs basés sur des documents
Options d’analyse de figure et d’image
enableFigureDescription
- Valeur par défaut : false
- Description: Génère des descriptions de texte en langage naturel pour les figures, les diagrammes, les images et les illustrations
-
Quand les utiliser :
- Pour les exigences d’accessibilité (génération de texte de remplacement)
- Présentation des diagrammes et des organigrammes
- Extraction d’insights à partir d’infographies
- Pris en charge par : Analyseurs basés sur des documents
enableFigureAnalysis
- Valeur par défaut : false
- Description: Effectue une analyse plus approfondie des chiffres, notamment l’extraction de données de graphique et l’identification des composants de diagramme
-
Quand les utiliser :
- Extraction de données structurées à partir de graphiques incorporés dans des documents
- Comprendre les diagrammes complexes
- Classification détaillée des illustrations
- Pris en charge par : Analyseurs basés sur des documents
Options d’annotation
annotationFormat
-
Par défaut:
"markdown" -
Valeurs prises en charge :
"markdown" - Description: Spécifie le format des annotations retournées
- Pris en charge par : Analyseurs basés sur des documents
Options d’extraction de champ
estimateFieldSourceAndConfidence
- Valeur par défaut : false (varie selon l’analyseur)
- Description: Retourne l’emplacement source (numéro de page, zone englobante) et le score de confiance pour chaque valeur de champ extraite.
-
Quand les utiliser :
- Flux de travail de validation et d’assurance qualité
- Comprendre la précision de l'extraction
- Débogage des problèmes d’extraction
- Mise en surbrillance du texte source dans les interfaces utilisateur
- Pris en charge par : Analyseurs de documents (facture, reçu, documents d’ID, formulaires fiscaux)
Options audio et vidéo
locales
-
Par défaut:
[](tableau vide) - Description: Liste des codes régionaux/linguistiques pour le traitement spécifique à la langue (principalement pour la transcription)
-
Valeurs prises en charge : Codes de langue BCP-47 (par exemple,
["en-US", "es-ES", "fr-FR", "de-DE"]) -
Quand les utiliser :
- Transcription audio en plusieurs langues
- Spécification du langage attendu pour une meilleure précision
- Traitement du contenu dans des variantes régionales spécifiques
-
Pris en charge par :
prebuilt-audio,prebuilt-video,prebuilt-callCenter
Note
Pour obtenir la liste complète des langues et paramètres régionaux pris en charge, consultez la prise en charge de la langue et de la région.
disableFaceBlurring
- Valeur par défaut : false
- Description: Contrôle si les visages dans les images et les vidéos doivent être flous pour la protection de la confidentialité
-
Quand les utiliser :
- Défini sur
truele moment où la visibilité des visages est requise pour l’analyse - Définir sur
falselorsque la désidentification des individus dans le contenu partagé est souhaitée
- Défini sur
-
Pris en charge par :
prebuilt-image,prebuilt-video
Important
La fonctionnalité Fonctionnalités visage dans Content Understanding est un service d’accès limité et l’inscription est requise pour l’accès. La fonctionnalité de regroupement de visages et d’identification dans Content Understanding est limitée en fonction des critères d’éligibilité et d’utilisation. Le service visage est disponible uniquement pour les clients et partenaires gérés par Microsoft. Utilisez le Formulaire d’admission de la reconnaissance faciale pour demander l’accès. Pour plus d’informations, consultez les actions responsables en matière d'IA et les mesures de sécurité pour la reconnaissance faciale.
Options de classification
contentCategories
- Par défaut: Non défini
-
Description: Définit des catégories ou des types de contenu pour la classification et le routage automatiques vers des gestionnaires spécialisés. Lorsqu'il est utilisé avec
enableSegment set to false, il n'est actuellement pris en charge que pour les documents. Il classifie l’intégralité du fichier. Lorsqu’il est utilisé avecenableSegment=true, le fichier est divisé en blocs en fonction de ces catégories, chaque segment étant classé et éventuellement traité par un analyseur spécifique à une catégorie. Sélectionne toujours une option unique dans la liste des catégories disponibles. -
Structure: Chaque catégorie contient :
-
description- (Obligatoire) Description détaillée du type de catégorie/document. Cette description agit comme une invite qui guide le modèle d'IA dans la détermination des limites des segments et de leur classification. Incluez des caractéristiques distinctes pour vous aider à identifier l’endroit où se termine une catégorie et un autre commence. -
analyzerId- (Facultatif) Référence à un autre analyseur à utiliser pour cette catégorie. L’analyseur référencé est lié, non copié, garantissant un comportement cohérent. En cas d’omission, seule la catégorisation est effectuée sans traitement supplémentaire (scénario fractionné uniquement).
-
-
Utilisation du modèle : Les modèles spécifiés dans la propriété de
modelsl’analyseur parent sont utilisés uniquement pour la segmentation et la classification. Chaque sous-analyse utilise sa propre configuration de modèle pour l’extraction. -
Comportement avec
enableSegment:-
enableSegment: true: le contenu est divisé en segments en fonction des descriptions des catégories. Chaque segment est classé dans l’une des catégories définies. Retourne les métadonnées de segment dans l’objet de contenu d’origine, ainsi que d’autres objets de contenu pour les segments avecanalyzerIdspécifié. -
enableSegment: false: tout le contenu est classé dans une catégorie et routé en conséquence. Utile pour la classification hiérarchique sans fractionner.
-
- Correspondance de catégorie : Si une catégorie « autre » ou « par défaut » n’est pas définie, le contenu est forcé de classer dans l’une des catégories répertoriées. Incluez une catégorie « autre » pour gérer correctement les contenus non correspondants.
- Pris en charge par : Analyseurs de documents et de vidéos. Pour la vidéo, vous ne pouvez définir qu’une seule catégorie de contenu.
enableSegment
- Valeur par défaut : false
-
Description: Active la segmentation du contenu, en cassant le fichier en blocs en fonction des catégories spécifiées dans
contentCategories. Chaque segment est ensuite classé dans l’une des catégories définies pour le traitement sélectif. -
Comportement de segmentation : Le service divise le contenu en unités logiques en analysant le contenu par rapport aux descriptions de catégorie. Les limites de segment sont déterminées à l’aide des points suivants :
- Documents: Descriptions des catégories combinées à la structure de contenu (pages, sections, modifications de mise en forme)
- Vidéos: Descriptions de catégorie combinées avec des repères visuels (changements de capture, transitions de scène, limites temporelles). Une seule contentCategory est prise en charge.
-
Quand les utiliser :
- Traitement de lots de contenu mixte dans lesquels différentes parties ont besoin d’une gestion différente (par exemple, un fichier PDF contenant à la fois des factures et des reçus)
- Fractionnement de documents longs en blocs classés pour une analyse sélective
- Analyse des vidéos par type de contenu (par exemple, des publicités distinctes du contenu principal)
-
Structure de sortie :
- Retourne un
segmentstableau dans l’objet de contenu contenant des métadonnées pour chaque segment (ID, limites, catégorie) - Chaque segment inclut sa catégorie classifiée à partir de
contentCategories - D’autres objets de contenu sont retournés pour les segments avec la catégorie
analyzerIdspécifiée
- Retourne un
-
Segmentation hiérarchique : Si l’analyseur d’une catégorie a
enableSegment: trueégalement , les segments peuvent être fractionnés de manière récursive, ce qui permet une répartition de contenu multiniveaux - Impact sur les performances : Augmente le temps de traitement des fichiers volumineux, en particulier avec de nombreux segments
- Pris en charge par : Analyseurs de documents et de vidéos
segmentPerPage
- Valeur par défaut : false
- Description: Lorsque la segmentation est activée, forcez un segment par page au lieu d’utiliser des limites de contenu logique. Remplace la nécessité de modes de fractionnement « perPage » distincts.
-
Quand les utiliser :
- Flux de travail de traitement de page par page
- Chaque page doit être traitée comme une unité indépendante
- Traitement parallèle des pages individuelles
- Extraction de champs au niveau de la page dans des documents à plusieurs pages
- Lots de documents mixtes où chaque page est un type de document différent
- Pris en charge par : Analyseurs basés sur des documents
omitContent
- Valeur par défaut : false
-
Description: Lorsque
true, exclut l’objet de contenu d’origine de la réponse, en retournant uniquement les données de champ structurés ou les objets de contenu des sous-analyzers (lors de l’utilisationcontentCategories) -
Quand les utiliser :
- Lorsque vous n’avez besoin que des valeurs de champ extraites
- Dans les analyseurs composés avec
contentCategoriespour retourner uniquement les résultats classés - Pour les chaînes de classification hiérarchiques, retournez uniquement les résultats de l’analyseur feuille
-
Exemple : analyse sélective :
{ "config": { "enableSegment": true, "contentCategories": { "invoice": { "analyzerId": "prebuilt-invoice" }, "other": { } // Categorize but don't process }, "omitContent": true // Only return invoice analysis results } } - Pris en charge par : Analyseurs de documents
Configuration du champ
La fieldSchema propriété définit les données structurées que votre analyseur extrait du contenu. Il spécifie les champs, leurs types et la façon dont ils doivent être extraits.
Intention de conception : extraction structurée
Les schémas de champ transforment le contenu non structuré en données structurées et interrogeables. Le schéma sert à la fois de :
- Contrat définissant les données extraites
- Guide du modèle IA sur ce qu’il faut rechercher et comment l’interpréter
Structure de schéma de champ
{
"fieldSchema": {
"name": "InvoiceAnalysis",
"fields": {
"VendorName": {
"type": "string",
"description": "Name of the vendor or supplier",
"method": "extract"
},
"InvoiceTotal": {
"type": "number",
"description": "Total amount due on the invoice",
"method": "extract"
},
"LineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Description": { "type": "string" },
"Quantity": { "type": "number" },
"UnitPrice": { "type": "number" },
"Amount": { "type": "number" }
}
},
"description": "List of items on the invoice, typically in a table format",
"method": "generative"
}
}
}
}
Propriétés du schéma de champ
name
- Description: Nom du schéma, généralement décrivant le type de contenu ou le cas d’usage
-
Exemple :
"InvoiceAnalysis", ,"ReceiptExtraction""ContractFields"
fields
-
Description: Objet définissant chaque champ à extraire, avec des noms de champs en tant que clés. L’objet
{}vide indique qu’aucun champ structuré n’est extrait (par exemple, analyseurs dédiés à la mise en page). -
Prise en charge hiérarchique : Permet l'utilisation des champs imbriqués avec les types
objectetarraypour représenter des structures de données complexes - Bonne pratique : Éviter l’imbrication approfondie (plus de 2 à 3 niveaux) car elle peut réduire les performances et la précision d’extraction
Propriétés de définition de champ
Chaque champ de l’objet fields a les propriétés suivantes :
type
-
Valeurs prises en charge :
"string", ,"number","boolean""date","object""array" - Description: Type de données de la valeur de champ. Choisissez le type qui correspond le mieux à la sémantique de vos données pour une extraction optimale.
description
- Description: Explication claire de ce que contient le champ et où le trouver. Cette description est traitée par le modèle IA comme une mini-commande pour guider l'extraction de champs, afin d'améliorer spécifiquement et directement la précision de l'extraction.
Pour plus d’informations sur l’écriture de descriptions de champs efficaces, consultez les meilleures pratiques pour l’extraction de champs.
method
-
Valeurs prises en charge :
"generate", ,"extract""classify" - Description: Méthode d’extraction à utiliser pour ce champ. Lorsqu’il n’est pas spécifié, le système détermine automatiquement la meilleure méthode en fonction du type de champ et de la description.
-
Types de méthode :
-
"generate"- Les valeurs sont générées librement en fonction du contenu utilisant des modèles IA (mieux pour les champs complexes ou variables nécessitant une interprétation) -
"extract"- Les valeurs sont extraites à mesure qu’elles apparaissent dans le contenu (mieux pour l’extraction de texte littéral à partir d’emplacements spécifiques). La fonction d'extraction nécessite queenableSourceGroundingAndConfidencesoit défini sur vrai pour ce champ. -
"classify"- Les valeurs sont classées par rapport à un ensemble prédéfini de catégories (le mieux lors de l’utilisationenumavec un ensemble fixe de valeurs possibles)
-
estimateSourceAndConfidence
- Valeur par défaut : false
-
Description: Retourne l’emplacement source (numéro de page, zone englobante) et le score de confiance pour cette valeur de champ. Doit être true pour les champs avec
method= extract. Cette propriété remplacera la propriété de niveauestimateFieldSourceAndConfidencede l’analyseur. -
Quand les utiliser :
- Flux de travail de validation et d’assurance qualité
- Comprendre la précision de l'extraction
- Débogage des problèmes d’extraction
- Mise en surbrillance du texte source dans les interfaces utilisateur
- Pris en charge par : Analyseurs de documents (facture, reçu, documents d’ID, formulaires fiscaux)
items (pour les types de tableaux)
- Description: Définit la structure des éléments dans le tableau
-
Propriétés :
-
type- Type d’éléments de tableau ("string","number","object") -
properties- Pour les éléments d’objet, définit la structure de champ imbriquée
-
properties (pour les types d’objets)
- Description: Définit la structure des champs imbriqués dans l’objet
-
Exemple :
{ "Address": { "type": "object", "properties": { "Street": { "type": "string" }, "City": { "type": "string" }, "State": { "type": "string" }, "ZipCode": { "type": "string" } }, "description": "Complete mailing address" } }
Exemple d’analyseur complet
Voici un exemple complet de configuration d’analyseur de facture personnalisée qui illustre les concepts clés abordés dans cette référence :
{
"analyzerId": "my-custom-invoice-analyzer",
"name": "Custom Invoice Analyzer",
"description": "Extracts vendor information, line items, and totals from commercial invoices",
"baseAnalyzerId": "prebuilt-document",
"config": {
"returnDetails": true,
"enableOcr": true,
"enableLayout": true,
"tableFormat": "html",
"estimateFieldSourceAndConfidence": true,
"omitContent": false
},
"fieldSchema": {
"name": "InvoiceFields",
"fields": {
"VendorName": {
"type": "string",
"description": "Name of the vendor or supplier, typically found in the header section",
"method": "extract"
},
"VendorAddress": {
"type": "object",
"properties": {
"Street": { "type": "string" },
"City": { "type": "string" },
"State": { "type": "string" },
"ZipCode": { "type": "string" }
},
"description": "Complete vendor mailing address"
},
"InvoiceNumber": {
"type": "string",
"description": "Unique invoice number, often labeled as 'Invoice #' or 'Invoice No.'",
"method": "extract"
},
"InvoiceDate": {
"type": "date",
"description": "Date the invoice was issued, in format MM/DD/YYYY",
"method": "extract"
},
"DueDate": {
"type": "date",
"description": "Payment due date",
"method": "extract"
},
"LineItems": {
"type": "array",
"items": {
"type": "object",
"properties": {
"Description": {
"type": "string",
"description": "Item or service description"
},
"Quantity": {
"type": "number",
"description": "Quantity ordered"
},
"UnitPrice": {
"type": "number",
"description": "Price per unit"
},
"Amount": {
"type": "number",
"description": "Line total (Quantity × UnitPrice)"
}
}
},
"description": "List of items or services on the invoice, typically in a table format",
"method": "generative"
},
"Subtotal": {
"type": "number",
"description": "Sum of all line items before tax",
"method": "extract"
},
"Tax": {
"type": "number",
"description": "Tax amount",
},
"Total": {
"type": "number",
"description": "Total amount due (Subtotal + Tax)",
},
"PaymentTerms": {
"type": "string",
"description": "Payment terms and conditions (e.g., 'Net 30', 'Due upon receipt')",
"method": "generative"
}
}
},
"supportedModels": {
"completion": ["gpt-4o", "gpt-4o-mini", "gpt-4.1"],
"embedding": ["text-embedding-3-large", "text-embedding-3-small"]
},
"models": {
"completion": "gpt-4.1",
"embedding": "text-embedding-3-large"
}
}
Création d’un analyseur personnalisé
Pour créer un analyseur personnalisé basé sur la structure de configuration décrite dans ce document, utilisez l’API REST Content Understanding pour soumettre votre définition d’analyseur.
Point de terminaison d’API
Utilisez la commande curl suivante pour créer un analyseur personnalisé en envoyant votre configuration d’analyseur à partir d’un fichier JSON :
curl -X PUT "https://{endpoint}/contentunderstanding/analyzers/{analyzerId}?api-version=2025-11-01-preview" \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: {key}" \
-d @analyzer-definition.json
Remplacez les espaces réservés suivants :
-
{endpoint}- Votre point de terminaison de ressource de compréhension de contenu -
{analyzerId}- Identificateur unique pour votre analyseur -
{key}- Clé d’abonnement Content Understanding -
analyzer-definition.json- Chemin d’accès à votre fichier de configuration de l’analyseur
Corps de la demande
Le fichier de configuration de l’analyseur doit être un objet JSON contenant les propriétés décrites dans cette référence. Pour obtenir un exemple complet, consultez le didacticiel Créer un analyseur personnalisé.
Réponse
L’API retourne une réponse avec un 201 CreatedOperation-Location en-tête que vous pouvez utiliser pour suivre l’état de l’opération de création de l’analyseur.
Étapes suivantes
Pour obtenir une procédure pas à pas complète avec des exemples pour différents types de contenu (documents, images, audio, vidéo), consultez Créer un analyseur personnalisé.
Configuration par type de contenu
Différents types de contenu prennent en charge différentes options de configuration. Voici une référence rapide :
Analyseurs de documents
Analyseur de base :prebuilt-document
Options de configuration prises en charge :
- ✅
returnDetails - ✅
omitContent - ✅
enableOcr - ✅
enableLayout - ✅
enableFormula - ✅
enableBarcode - ✅
tableFormat - ✅
chartFormat - ✅
enableFigureDescription - ✅
enableFigureAnalysis - ✅
enableAnnotations - ✅
annotationFormat - ✅
enableSegment - ✅
segmentPerPage -
✅
estimateFieldSourceAndConfidence(analyseurs structurés) -
✅
contentCategories(analyseurs multivariants)
Analyseurs audio
Analyseur de base :prebuilt-audio
Options de configuration prises en charge :
- ✅
returnDetails - ✅
locales
Analyseurs vidéo
Analyseur de base :prebuilt-video
Options de configuration prises en charge :
- ✅
returnDetails - ✅
locales - ✅
contentCategories - ✅
enableSegment - ✅
omitContent - ✅
disableFaceBlurring
Analyseurs d’images
Analyseur de base :prebuilt-image
Options de configuration prises en charge :
- ✅
returnDetails - ✅
disableFaceBlurring
Contenu connexe
- En savoir plus sur les analyseurs prédéfinis disponibles dans Content Understanding
- Explorer les modèles d’analyseur pour commencer rapidement
- Créer votre propre analyseur en suivant le didacticiel de l’analyseur personnalisé
- Comprendre les meilleures pratiques pour obtenir des résultats d’extraction optimaux
- Passer en revue les éléments de document et les éléments vidéo pour plus d’informations sur le contenu extrait
- Mettez-vous à créer et tester des analyseurs dans Foundry