Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Innehållstolkningsanalyserare definierar hur du bearbetar och extraherar insikter från ditt innehåll. De säkerställer en enhetlig bearbetnings- och utdatastruktur i allt innehåll för att ge tillförlitliga och förutsägbara resultat. Vi erbjuder fördefinierade analysverktyg för vanliga användningsfall. Den här guiden visar hur dessa analysverktyg kan anpassas så att de passar dina behov bättre.
I den här guiden använder vi kommandoradsverktyget cURL. Om den inte är installerad kan du ladda ned rätt version för utvecklingsmiljön.
Definiera ett analysschema
Om du vill skapa en anpassad analysator definierar du ett fältschema som beskriver de strukturerade data som du vill extrahera. I följande exempel skapar vi ett analysverktyg baserat på en fördefinierad dokumentanalysator för bearbetning av ett kvitto.
Skapa en JSON-fil med namnet request_body.json
med följande innehåll:
{
"description": "Sample receipt analyzer",
"baseAnalyzerId": "prebuilt-documentAnalyzer",
"config": {
"returnDetails": true,
"enableFormula": false,
"disableContentFiltering": false,
"estimateFieldSourceAndConfidence": true,
"tableFormat": "html"
},
"fieldSchema": {
"fields": {
"VendorName": {
"type": "string",
"method": "extract",
"description": "Vendor issuing the receipt"
},
"Items": {
"type": "array",
"method": "extract",
"items": {
"type": "object",
"properties": {
"Description": {
"type": "string",
"method": "extract",
"description": "Description of the item"
},
"Amount": {
"type": "number",
"method": "extract",
"description": "Amount of the item"
}
}
}
}
}
}
}
Skapa analysverktyg
PUT-begäran
curl -i -X PUT "{endpoint}/contentunderstanding/analyzers/{analyzerId}?api-version=2025-05-01-preview" \
-H "Ocp-Apim-Subscription-Key: {key}" \
-H "Content-Type: application/json" \
-d @request_body.json
PUT-svar
201-svaret Created
innehåller en Operation-Location
rubrik som innehåller en URL som du kan använda för att spåra statusen för den här asynkrona åtgärden för att skapa analysverktyg.
201 Created
Operation-Location: {endpoint}/contentunderstanding/analyzers/{analyzerId}/operations/{operationId}?api-version=2025-05-01-preview
När processen är klar och en HTTP GET-operation utförs på URL:en för åtgärden returneras "status": "succeeded"
.
curl -i -X GET "{endpoint}/contentunderstanding/analyzers/{analyzerId}/operations/{operationId}?api-version=2025-05-01-preview" \
-H "Ocp-Apim-Subscription-Key: {key}"
Analysera fil
Skicka fil
Du kan nu använda den anpassade analysatorn som du skapade för att bearbeta filer och extrahera de fält som du definierade i schemat.
Innan du kör cURL-kommandot gör du följande ändringar i HTTP-begäran:
- Ersätt
{endpoint}
och{key}
med slutpunkts- och nyckelvärdena från Azure-portalens Azure AI Foundry-instans. - Ersätt
{analyzerId}
med namnet på den anpassade analysatorn som skapades tidigare. - Ersätt
{fileUrl}
med en offentligt tillgänglig URL för filen som ska analyseras, till exempel en sökväg till en Azure Storage Blob med en signatur för delad åtkomst (SAS) eller exempel-URL:enhttps://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/receipt.png
.
POST-förfrågan
curl -i -X POST "{endpoint}/contentunderstanding/analyzers/{analyzerId}:analyze?api-version=2025-05-01-preview" \
-H "Ocp-Apim-Subscription-Key: {key}" \
-H "Content-Type: application/json" \
-d "{\"url\":\"{fileUrl}\"}"
POST-svarmeddelande
Svaret 202 Accepted
innehåller det {resultId}
som du kan använda för att spåra statusen för den här asynkrona åtgärden.
{
"id": {resultId},
"status": "Running",
"result": {
"analyzerId": {analyzerId},
"apiVersion": "2025-05-01-preview",
"createdAt": "YYYY-MM-DDTHH:MM:SSZ",
"warnings": [],
"contents": []
}
}
Hämta analysera resultat
- Ersätt
{endpoint}
och{key}
med slutpunkts- och nyckelvärdena från Azure-portalens Azure AI Foundry-instans. - Ersätt
{resultId}
medresultId
iPOST
-svaret.
GET-begäran
curl -i -X GET "{endpoint}/contentunderstanding/analyzerResults/{resultId}?api-version=2025-05-01-preview" \
-H "Ocp-Apim-Subscription-Key: {key}"
GET-svar
Ett 200 OK
svar innehåller ett status
fält som visar åtgärdens förlopp.
-
status
ärSucceeded
om åtgärden har slutförts framgångsrikt. - Om det är
running
ellernotStarted
anropar du API:et igen manuellt eller med ett skript: vänta minst en sekund mellan begäranden.
Exempelsvar
{
"id": {resultId},
"status": "Succeeded",
"result": {
"analyzerId": {analyzerId},
"apiVersion": "2025-05-01-preview",
"createdAt": "YYYY-MM-DDTHH:MM:SSZ",
"warnings": [],
"contents": [
{
"markdown": "Contoso\n\n123 Main Street\nRedmond, WA 98052\n\n987-654-3210\n\n6/10/2019 13:59\nSales Associate: Paul\n\n\n<table>\n<tr>\n<td>2 Surface Pro 6</td>\n<td>$1,998.00</td>\n</tr>\n<tr>\n<td>3 Surface Pen</td>\n<td>$299.97</td>\n</tr>\n</table> ...",
"fields": {
"VendorName": {
"type": "string",
"valueString": "Contoso",
"spans": [{"offset": 0,"length": 7}],
"confidence": 0.996,
"source": "D(1,774.0000,72.0000,974.0000,70.0000,974.0000,111.0000,774.0000,113.0000)"
},
"Items": {
"type": "array",
"valueArray": [
{
"type": "object",
"valueObject": {
"Description": {
"type": "string",
"valueString": "2 Surface Pro 6",
"spans": [ { "offset": 115, "length": 15}],
"confidence": 0.423,
"source": "D(1,704.0000,482.0000,875.0000,482.0000,875.0000,508.0000,704.0000,508.0000)"
},
"Amount": {
"type": "number",
"valueNumber": 1998,
"spans": [{ "offset": 140,"length": 9}
],
"confidence": 0.957,
"source": "D(1,952.0000,482.0000,1048.0000,482.0000,1048.0000,508.0000,952.0000,509.0000)"
}
}
}, ...
]
}
},
"kind": "document",
"startPageNumber": 1,
"endPageNumber": 1,
"unit": "pixel",
"pages": [
{
"pageNumber": 1,
"angle": -0.0848,
"width": 1743,
"height": 878,
"spans": [
{
"offset": 0,
"length": 375
}
],
"words": [
{
"content": "Contoso",
"span": {"offset": 0,"length": 7 },
"confidence": 0.995,
"source": "D(1,774,72,974,70,974,111,774,113)"
}, ...
],
"lines": [
{
"content": "Contoso",
"source": "D(1,774,71,973,70,974,111,774,113)",
"span": {"offset": 0,"length": 7}
}, ...
]
}
],
"paragraphs": [
{
"content": "Contoso",
"source": "D(1,774,71,973,70,974,111,774,113)",
"span": {"offset": 0,"length": 7}
}, ...
],
"sectios": [
{
"span": {"offset": 0,"length": 374 },
"elements": ["/paragraphs/0","/paragraphs/1", ...]
}
],
"tables": [
{
"rowCount": 2,
"columnCount": 2,
"cells": [
{
"kind": "content",
"rowIndex": 0,
"columnIndex": 0,
"rowSpan": 1,
"columnSpan": 1,
"content": "2 Surface Pro 6",
"source": "D(1,691,471,911,470,911,514,691,515)",
"span": {"offset": 115,"length": 15},
"elements": ["/paragraphs/4"]
}, ...
],
"source": "D(1,759,593,1056,592,1057,741,760,742)",
"span": {"offset": 223,"length": 151}
}
]
}
]
}
}