Partage via


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.

Capture d’écran de l’exemple d’ordre de lecture OCR.

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).

Capture d’écran montrant la sortie de toutes les pages et des pages sélectionnées.

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.

Capture d’écran montrant l’exemple de classification d’écriture manuscrite OCR.