Appeler l’API Read v3.2 en disponibilité générale d’Azure AI Vision
Ce guide vous montre comment appeler l’API Read v3.2 GA pour extraire du texte des images. Vous découvrirez les différentes façons dont vous pouvez configurer le comportement de cette API pour répondre à vos besoins.
Les étapes suivantes supposent que vous avez déjà créé une ressource Vision par ordinateur et obtenu une clé et une URL de point de terminaison. Si ce n’est pas le cas, consultez le guide de démarrage rapide pour commencer.
Éditions OCR (Read)
Important
Sélectionnez l’édition Read qui répond le mieux à vos besoins.
Entrée | Exemples | Édition Read | Avantage |
---|---|---|---|
Images : Images génériques générales | étiquettes, panneaux de rue et affiches | OCR pour les images (version 4.0) | Optimisé pour les images générales qui ne sont pas des documents avec une API synchrone optimisée pour les performances qui facilite l’incorporation de l’OCR dans vos scénarios d’expérience utilisateur. |
Documents : Documents numériques et numérisés, y compris les images | livres, articles et rapports | Modèle de lecture d’Intelligence documentaire | Optimisé pour les documents numérisés et numériques riches en texte avec une API asynchrone afin d’automatiser le traitement intelligent des documents à grande échelle. |
À propos d’Azure AI Vision v3.2 GA Read
Vous recherchez l’API Azure AI Vision v3.2 GA Read la plus récente ? Toutes les futures améliorations de l’OCR en lecture font partie des deux services répertoriés précédemment. Il n’y a pas aucune autre mise à jour apportée à Azure AI Vision v3.2. Pour plus d’informations, consultez Appeler l’API Lecture en disponibilité générale Azure AI Vision 3.2 et Démarrage rapide : lecture en disponibilité générale Azure AI Vision v3.2.
Déterminer le mode de traitement des données (facultatif)
Spécifier le modèle OCR
Par défaut, le service utilise le dernier modèle en disponibilité générale (GA) pour extraire le texte. À partir de Read v3.2, un paramètre model-version
permet de choisir entre les modèles en disponibilité générale et en préversion pour une version d’API donnée. Le modèle que vous spécifiez est utilisé pour extraire du texte avec l’opération Lecture.
Lorsque vous utilisez l’opération Read, utilisez les valeurs suivantes pour le paramètre facultatif model-version
.
Valeur | Modèle utilisé |
---|---|
Non fourni | Dernier modèle en disponibilité générale |
La plus récente | Dernier modèle en disponibilité générale |
30-04-2022 | Dernier modèle en disponibilité générale. 164 langues pour le texte imprimé et 9 langues pour le texte manuscrit, ainsi que plusieurs améliorations apportées à la qualité et aux performances |
2022-01-30 | Ajoute la prise en charge du texte imprimé pour l’hindi, l’arabe et les langues associées. Pour le texte manuscrit, ajoute la prise en charge du japonais et du coréen. |
2021-09-30 | Ajoute la prise en charge du texte imprimé pour les langues russes et cyrilliques. Pour le texte manuscrit, ajoute la prise en charge du chinois simplifié, du français, de l’allemand, de l’italien, du portugais et de l’espagnol. |
2021-04-12 | Modèle en disponibilité générale 2021 |
Langue d’entrée
Par défaut, le service extrait tout le texte de vos images ou documents, y compris les langues mixtes. L’opération de lecture a un paramètre de requête facultatif pour la langue. Ne fournissez un code de langue que si vous voulez forcer le document à être traité dans cette langue spécifique. Sinon, le service pourrait retourner du texte incomplet et incorrect.
Sortie de l’ordre de lecture naturel (langues latines uniquement)
Par défaut, le service génère les lignes de texte dans l’ordre de gauche à droite. En option, avec le paramètre de requête readingOrder
, utilisez natural
pour obtenir un ordre de lecture plus convivial, comme le montre l'exemple suivant. Cette fonctionnalité est prise en charge uniquement pour les langues latines.
Sélectionner des pages ou des plages de pages pour l’extraction de texte
Par défaut, le service extrait du texte de toutes les pages des documents. En option, utilisez le paramètre de requête pages
pour spécifier des numéros de page ou des plages de pages afin d'extraire le texte de ces pages uniquement. L’exemple suivant montre un document de 10 pages, avec le texte extrait pour les deux cas : Toutes les pages (1 à 10) et Pages sélectionnées (3 à 6).
Envoyer des données au service
Vous soumettez une image locale ou une image distante à l’API Read. Pour une image locale, vous placez les données image binaires dans le corps de la requête HTTP. Pour une image distante, vous spécifiez l’URL de l’image en mettant en forme le corps de la requête comme dans l’exemple suivant.
{"url":"http://example.com/images/test.jpg"}
L’appel de lecture de l’API de lecture prend en entrée une image ou un document PDF et extrait du texte de façon asynchrone.
https://{endpoint}/vision/v3.2/read/analyze[?language][&pages][&readingOrder]
L’appel retourne avec un champ d’en-tête de réponse appelé Operation-Location
. La valeur Operation-Location
est une URL qui contient l’ID d’opération à utiliser à l’étape suivante.
En-tête de réponse | Valeur d'exemple |
---|---|
Operation-Location | https://cognitiveservice/vision/v3.2/read/analyzeResults/d3d3d3d3-eeee-ffff-aaaa-b4b4b4b4b4b4 |
Notes
Billing
La page Tarification d’Azure AI Vision comprend le niveau tarifaire pour les opérations Lecture. Chaque image ou page analysée est une transaction. Si vous appelez l’opération avec un document PDF ou TIFF contenant 100 pages, l’opération Lire compte cela comme 100 transactions et vous serez facturé pour 100 transactions. Si vous avez effectué 50 appels à l’opération et que chaque appel a envoyé un document avec 100 pages, vous êtes facturé pour 50 X 100 = 5000 transactions.
Obtenir les résultats du service
La deuxième étape consiste à appeler l’opération Obtenir les résultats de lecture. Cette opération prend en entrée l’ID d’opération créé par l’opération de lecture.
https://{endpoint}/vision/v3.2/read/analyzeResults/{operationId}
Elle retourne une réponse JSON qui contient un champ État avec les possibles valeurs suivantes.
Valeur | Signification |
---|---|
notStarted |
L’opération n’a pas commencé. |
running |
L’opération est en cours. |
failed |
L'opération a échoué. |
succeeded |
L’opération a réussi. |
Vous appelez cette opération de façon itérative jusqu’à ce qu’elle retourne avec la valeur succeeded. Utilisez un intervalle de 1 à 2 secondes pour éviter de dépasser le taux de requêtes par seconde (RPS).
Remarque
Le niveau gratuit limite le taux de requêtes à 20 appels par minute. Le niveau payant autorise 30 RPS. Cette limite peut être augmentée à la demande. Notez votre identificateur de ressource Azure et votre région, puis ouvrez un ticket de support Azure ou contactez l’équipe en charge de vos comptes pour solliciter une augmentation du taux de RPS.
Lorsque le champ État a la valeur succeeded
, la réponse JSON contient le contenu du texte extrait de votre image ou document. La réponse JSON conserve les regroupements de lignes d’origine des mots reconnus. Elle comprend les lignes de texte extraites et les coordonnées de leur cadre englobant. Chaque ligne de texte inclut tous les mots extraits avec leurs coordonnées et des scores de confiance.
Remarque
Les données envoyées à l’opération Read sont temporairement chiffrées et stockées au repos pendant une courte durée avant d’être supprimées. Cela permet à vos applications de récupérer le texte extrait dans le cadre de la réponse du service.
Exemple de sortir JSON
Voici un exemple de réponse JSON correcte :
{
"status": "succeeded",
"createdDateTime": "2021-02-04T06:32:08.2752706+00:00",
"lastUpdatedDateTime": "2021-02-04T06:32:08.7706172+00:00",
"analyzeResult": {
"version": "3.2",
"readResults": [
{
"page": 1,
"angle": 2.1243,
"width": 502,
"height": 252,
"unit": "pixel",
"lines": [
{
"boundingBox": [
58,
42,
314,
59,
311,
123,
56,
121
],
"text": "Tabs vs",
"appearance": {
"style": {
"name": "handwriting",
"confidence": 0.96
}
},
"words": [
{
"boundingBox": [
68,
44,
225,
59,
224,
122,
66,
123
],
"text": "Tabs",
"confidence": 0.933
},
{
"boundingBox": [
241,
61,
314,
72,
314,
123,
239,
122
],
"text": "vs",
"confidence": 0.977
}
]
}
]
}
]
}
}
Classification manuscrite pour les lignes de texte (langues latines uniquement)
La réponse comprend une classification qui indique si chaque ligne de texte est de style manuscrit ou non, avec un score de confiance. Cette fonctionnalité est disponible uniquement pour les langues latines. L’exemple suivant illustre la classification manuscrite pour le texte de l’image.