Batchanalyse van Document Intelligence (preview)
Belangrijk
- Openbare preview-versies van Document Intelligence bieden vroegtijdige toegang tot functies die actief zijn in ontwikkeling. Functies, benaderingen en processen kunnen veranderen, vóór algemene beschikbaarheid (GA), op basis van feedback van gebruikers.
- De openbare preview-versie van Document Intelligence-clientbibliotheken is standaard ingesteld op REST API-versie 2024-07-31-preview.
- Openbare preview-versie 2024-07-31-preview is momenteel alleen beschikbaar in de volgende Azure-regio's. Houd er rekening mee dat het aangepaste model voor generatieve (extractie van documentvelden) in AI Studio alleen beschikbaar is in de regio VS - noord-centraal:
- VS - oost
- VS - west 2
- Europa -west
- VS - noord-centraal
Met de batchanalyse-API kunt u meerdere documenten bulksgewijs verwerken met één asynchrone aanvraag. In plaats van documenten afzonderlijk in te dienen en meerdere aanvraag-id's bij te houden, kunt u een verzameling facturen, een reeks leningdocumenten of een groep aangepaste modeltrainingsdocumenten tegelijk analyseren.
- Als u batchanalyse wilt gebruiken, hebt u een Azure Blob Storage-account met specifieke containers nodig voor zowel uw brondocumenten als de verwerkte uitvoer.
- Na voltooiing bevat het resultaat van de batchbewerking alle afzonderlijke documenten die zijn verwerkt met hun status, zoals
succeeded
,skipped
offailed
. - De Preview-versie van de Batch-API is beschikbaar via prijzen voor betalen per gebruik.
De volgende modellen ondersteunen batchanalyse:
Lezen. Extraheer tekstregels, woorden, gedetecteerde talen en handgeschreven stijl uit formulieren en documenten.
Indeling. Tekst, tabellen, selectiemarkeringen en structuurgegevens extraheren uit formulieren en documenten.
Aangepaste sjabloon. Modellen trainen om sleutel-waardeparen, selectiemarkeringen, tabellen, handtekeningvelden en regio's uit gestructureerde formulieren te extraheren.
Aangepaste neurale. Modellen trainen om opgegeven gegevensvelden te extraheren uit gestructureerde, semi-gestructureerde en ongestructureerde documenten.
Aangepaste generatieve. Train modellen om opgegeven gegevens te extraheren uit complexe objecten, zoals geneste tabellen, abstractieve/generatieve velden en werkelijk ongestructureerde indelingen.
Richtlijnen voor batchanalyse
Het maximum aantal documenten dat per aanvraag voor één batchanalyse wordt verwerkt (inclusief overgeslagen documenten) is 10.000.
De
azureBlobFileListSource
parameter kan worden gebruikt om grotere aanvragen op te splitsen in kleinere aanvragen.De resultaten van de bewerking worden 24 uur na voltooiing bewaard. De documenten en resultaten bevinden zich in het opgegeven opslagaccount, maar de bewerkingsstatus is 24 uur na voltooiing niet meer beschikbaar.
Klaar om aan de slag te gaan?
Vereisten
Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u er gratis een maken.
Zodra u uw Azure-abonnement een Document Intelligence-exemplaar hebt in Azure Portal. U kunt de gratis prijscategorie (
F0
) gebruiken om de service te proberen.Nadat uw resource is geïmplementeerd, selecteert u Ga naar de resource en haalt u uw sleutel en eindpunt op.
- U hebt de sleutel en het eindpunt van de resource nodig om uw toepassing te verbinden met de Document Intelligence-service. U plakt uw sleutel en eindpunt verderop in de code in de quickstart. U vindt deze waarden op de pagina Sleutels en eindpunten van Azure Portal.
Een Azure Blob Storage-account. U maakt containers in uw Azure Blob Storage-account voor uw bron- en resultaatbestanden:
- Broncontainer. In deze container uploadt u uw bestanden voor analyse (vereist).
- Resultaatcontainer. In deze container worden uw verwerkte bestanden opgeslagen (optioneel).
U kunt dezelfde Azure Blob Storage-container aanwijzen voor bron- en verwerkte documenten. Als u echter de potentiële kans op het per ongeluk overschrijven van gegevens wilt minimaliseren, raden we u aan afzonderlijke containers te kiezen.
Autorisatie van opslagcontainers
U kunt een van de volgende opties kiezen om toegang tot uw documentresource te autoriseren.
✔️ Beheerde identiteit. Een beheerde identiteit is een service-principal waarmee een Microsoft Entra-identiteit en specifieke machtigingen voor een door Azure beheerde resource worden gemaakt. Met beheerde identiteiten kunt u uw Document Intelligence-toepassing uitvoeren zonder referenties in uw code in te sluiten. Beheerde identiteiten zijn een veiligere manier om toegang te verlenen tot opslaggegevens en om de vereiste voor het opnemen van sas-tokens (Shared Access Signature) te vervangen door uw bron- en resultaat-URL's.
Zie Beheerde identiteiten voor Document Intelligence voor meer informatie.
Belangrijk
- Wanneer u beheerde identiteiten gebruikt, neemt u geen SAS-token-URL op met uw HTTP-aanvragen. Uw aanvragen mislukken. Als u beheerde identiteiten gebruikt, wordt de vereiste voor het opnemen van sas-tokens (Shared Access Signature) vervangen.
✔️ Shared Access Signature (SAS). Een handtekening voor gedeelde toegang is een URL die gedurende een opgegeven periode beperkte toegang verleent aan uw Document Intelligence-service. Als u deze methode wilt gebruiken, moet u SAS-tokens (Shared Access Signature) maken voor uw bron- en resultaatcontainers. De bron- en resultaatcontainers moeten een SAS-token (Shared Access Signature) bevatten, toegevoegd als een querytekenreeks. Het token kan worden toegewezen aan uw container of specifieke blobs.
- Uw broncontainer of blob moet lees-, schrijf-, lijst- en verwijdertoegang aanwijzen.
- Uw resultaatcontainer of blob moet schrijf-, lijst- en verwijdertoegang aanwijzen.
Zie SAS-tokens maken voor meer informatie.
De batchanalyse-API aanroepen
Geef de URL van de Azure Blob Storage-container op voor uw brondocumentset in de
azureBlobSource
ofazureBlobFileListSource
objecten.Geef de URL van de Azure Blob Storage-container op voor uw batchanalyseresultaten met behulp van
resultContainerUrl
. Om onbedoeld overschrijven te voorkomen, raden we u aan afzonderlijke containers te gebruiken voor bron- en verwerkte documenten.- Als u dezelfde container gebruikt, stelt u deze in
resultContainerUrl
enresultPrefix
komt deze overeen met uw invoerazureBlobSource
. - Wanneer u dezelfde container gebruikt, kunt u het
overwriteExisting
veld opnemen om te bepalen of u bestanden met de analyseresultatenbestanden wilt overschrijven.
- Als u dezelfde container gebruikt, stelt u deze in
De POST-aanvraag bouwen en uitvoeren
Voordat u de POST-aanvraag uitvoert, vervangt u {your-source-container-SAS-URL} en {your-result-container-SAS-URL} door de waarden uit uw Azure Blob Storage-containerinstanties.
Sta slechts één of azureBlobSource
azureBlobFileListSource
één toe.
POST /documentModels/{modelId}:analyzeBatch
[
{
"azureBlobSource": {
"containerUrl": "{your-source-container-SAS-URL}",
"prefix": "trainingDocs/"
},
"azureBlobFileListSource": {
"containerUrl": "{your-source-container-SAS-URL}",
"fileList": "myFileList.jsonl"
},
"resultContainerUrl": "{your-result-container-SAS-URL}",
"resultPrefix": "trainingDocsResult/",
"overwriteExisting": false
}
]
Geslaagde reactie
202 Accepted
Operation-Location: /documentModels/{modelId}/analyzeBatchResults/{resultId}
Api-resultaten voor batchanalyse ophalen
Nadat de Batch API-bewerking is uitgevoerd, kunt u de batchanalyseresultaten ophalen met behulp van deGET
bewerking. Met deze bewerking worden informatie over de bewerkingsstatus, voltooiingspercentage van de bewerking en het maken en bijwerken van datum/tijd opgehaald.
GET /documentModels/{modelId}/analyzeBatchResults/{resultId}
200 OK
{
"status": "running", // notStarted, running, completed, failed
"percentCompleted": 67, // Estimated based on the number of processed documents
"createdDateTime": "2021-09-24T13:00:46Z",
"lastUpdatedDateTime": "2021-09-24T13:00:49Z"
...
}
Statusberichten interpreteren
Voor elk document is er een status toegewezen, ofwel succeeded
, failed
of skipped
. Voor elk document zijn er twee URL's opgegeven om de resultaten te valideren: sourceUrl
, dit is de bron-blobopslagcontainer voor uw geslaagde invoerdocument, en resultUrl
, dat is samengesteld door het relatieve pad voor het bronbestand te combineren resultContainerUrl
enresultPrefix
te maken en .ocr.json
.
Status
notStarted
ofrunning
. De batchanalysebewerking wordt niet gestart of is niet voltooid. Wacht totdat de bewerking is voltooid voor alle documenten.Status
completed
. De batchanalysebewerking is voltooid.Status
failed
. De batchbewerking is mislukt. Dit antwoord treedt meestal op als er algemene problemen zijn met de aanvraag. Fouten voor afzonderlijke bestanden worden geretourneerd in de reactie van het batchrapport, zelfs als alle bestanden zijn mislukt. Opslagfouten stoppen bijvoorbeeld de batchbewerking niet als geheel, zodat u gedeeltelijke resultaten kunt openen via het batchrapportantwoord.
Alleen bestanden met een succeeded
status hebben de eigenschap resultUrl
gegenereerd in het antwoord. Hierdoor kan modeltraining bestandsnamen detecteren die eindigen .ocr.json
en identificeren als de enige bestanden die kunnen worden gebruikt voor training.
Voorbeeld van een succeeded
statusantwoord:
[
"result": {
"succeededCount": 0,
"failedCount": 2,
"skippedCount": 2,
"details": [
{
"sourceUrl": "https://{your-source-container}/myContainer/trainingDocs/file2.jpg",
"status": "failed",
"error": {
"code": "InvalidArgument",
"message": "Invalid argument.",
"innererror": {
"code": "InvalidSasToken",
"message": "The shared access signature (SAS) is invalid: {details}"
}
}
}
]
}
]
...
Voorbeeld van een failed
statusantwoord:
- Deze fout wordt alleen geretourneerd als er fouten zijn in de algehele batchaanvraag.
- Zodra de batchanalysebewerking is gestart, heeft de afzonderlijke documentbewerkingsstatus geen invloed op de status van de algehele batchtaak, zelfs als alle bestanden de status
failed
hebben.
[
"result": {
"succeededCount": 0,
"failedCount": 2,
"skippedCount": 2,
"details": [
"sourceUrl": "https://{your-source-container}/myContainer/trainingDocs/file2.jpg",
"status": "failed",
"error": {
"code": "InvalidArgument",
"message": "Invalid argument.",
"innererror": {
"code": "InvalidSasToken",
"message": "The shared access signature (SAS) is invalid: {details}"
}
}
]
}
]
...
Voorbeeld van skipped
statusantwoord:
[
"result": {
"succeededCount": 3,
"failedCount": 0,
"skippedCount": 2,
"details": [
...
"sourceUrl": "https://myStorageAccount.blob.core.windows.net/myContainer/trainingDocs/file4.jpg",
"status": "skipped",
"error": {
"code": "OutputExists",
"message": "Analysis skipped because result file {path} already exists."
}
]
}
]
...
Met de resultaten van de batchanalyse kunt u bepalen welke bestanden met succes worden geanalyseerd en gevalideerd door het bestand in het resultUrl
bestand te vergelijken met het uitvoerbestand in de resultContainerUrl
.
Notitie
Analyseresultaten worden pas geretourneerd voor afzonderlijke bestanden als de volledige batchanalyse van de documentenset is voltooid. Als u gedetailleerde voortgang verder percentCompleted
wilt bijhouden, kunt u bestanden bewaken *.ocr.json
terwijl ze in het resultContainerUrl
bestand worden geschreven.