Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten szybki start pokazuje, jak używać interfejsu API REST usługi Content Understanding do pozyskiwania uporządkowanych danych z wielomodalnej zawartości dokumentów, obrazów, dźwięków i plików wideo.
Wymagania wstępne
- Aby rozpocząć pracę, potrzebujesz aktywnej subskrypcji platformy Azure. Jeśli nie masz konta platformy Azure, utwórz je bezpłatnie.
- Po utworzeniu subskrypcji platformy Azure utwórz zasób Microsoft Foundry w witrynie Azure Portal. Pamiętaj, aby utworzyć go w obsługiwanym regionie.
- Skonfiguruj domyślne wdrożenia modelu dla zasobu Content Understanding. Ustawienie wartości domyślnych powoduje utworzenie połączenia z modelami usługi Foundry używanymi dla żądań usługi Content Understanding. Wybierz jedną z poniższych metod:
- Przejdź do strony Ustawień usługi Content Understanding
- Wybierz przycisk "+ Dodaj zasób" w lewym górnym rogu
- Wybierz zasób Foundry, którego chcesz użyć, a następnie kliknij przycisk Dalej, a następnie pozycję Zapisz
- Pamiętaj, aby pozostawić pole wyboru "Włącz automatyczne wdrażanie dla wymaganych modeli, jeśli nie są dostępne żadne wartości domyślne". Dzięki temu zasób jest w pełni skonfigurowany z wymaganymi modelami GPT-4.1, GPT-4.1-mini oraz modelami text-embedding-3-large. Różne wstępnie utworzone analizatory wymagają różnych modeli.
- W tym przewodniku użyjemy narzędzia wiersza polecenia cURL. Jeśli nie jest zainstalowany, możesz pobrać odpowiednią wersję dla środowiska deweloperskiego.
Rozpocznij korzystanie z wstępnie utworzonego analizatora
Analizatory definiują sposób przetwarzania zawartości oraz wyodrębniane szczegółowe informacje. Oferujemy wstępnie przygotowane analizatory dla typowych przypadków użycia. Możesz dostosować wstępnie utworzone analizatory , aby lepiej dopasować je do konkretnych potrzeb i przypadków użycia. Ten szybki start używa wstępnie skonfigurowanych analizatorów faktur, obrazów, dźwięków i wideo, aby ułatwić rozpoczęcie pracy.
Wysyłanie pliku do analizy
Przed uruchomieniem następującego polecenia cURL wprowadź następujące zmiany w żądaniu HTTP:
- Zastąp
{endpoint}i{key}odpowiednimi wartościami z wystąpienia Foundry w portalu Azure.
Żądanie POST
W tym przykładzie użyto analizatora prebuilt-invoice do wyodrębnienia danych strukturalnych z dokumentu faktury.
curl -i -X POST "{endpoint}/contentunderstanding/analyzers/prebuilt-invoice:analyze?api-version=2025-11-01" \
-H "Ocp-Apim-Subscription-Key: {key}" \
-H "Content-Type: application/json" \
-d '{
"inputs":[{"url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf"}]
}'
Odpowiedź POST
Nagłówek odpowiedzi zawiera Operation-Location pole, które służy do pobierania wyników operacji analizy asynchronicznej.
HTTP/1.1 202 Accepted
Transfer-Encoding: chunked
Content-Type: application/json
request-id: aaa-bbb-ccc-ddd
x-ms-request-id: aaa-bbb-ccc-ddd
Operation-Location: {endpoint}/contentunderstanding/analyzerResults/{request-id}?api-version=2025-11-01
api-supported-versions: 2024-12-01-preview,2025-05-01-preview,2025-11-01
x-envoy-upstream-service-time: 800
apim-request-id: {request-id}
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
x-content-type-options: nosniff
x-ms-region: West US
Date: Fri, 31 Oct 2025 05:30:17 GMT
Connection: close
Ważne
Skopiuj adres URL lokalizacji operacji z nagłówka odpowiedzi. Użyjesz tego adresu URL w następnym kroku, aby pobrać wyniki analizy.
Uzyskiwanie wyniku analizy
Użyj Operation-Location z POST odpowiedzi i pobierz wynik analizy.
Żądanie GET
curl -i -X GET "{endpoint}/contentunderstanding/analyzerResults/{request-id}?api-version=2025-11-01" \
-H "Ocp-Apim-Subscription-Key: {key}"
Odpowiedź GET
Odpowiedź JSON 200 (OK) zawiera status pole wskazujące stan operacji. Jeśli operacja nie została ukończona, wartość to statusRunning lub NotStarted. W takich przypadkach należy ponownie wysłać GET żądanie ręcznie lub za pomocą skryptu. Poczekaj interwał co najmniej jednej sekundy między wywołaniami.
{
"id": "ce05fb5a-579e-4f0b-afb5-3532bcddeaee",
"status": "Succeeded",
"result": {
"analyzerId": "prebuilt-invoice",
"apiVersion": "2025-11-01",
"createdAt": "2025-11-13T20:04:55Z",
"warnings": [],
"contents": [
{
"path": "input1",
"markdown": "CONTOSO LTD.\n\n\n# INVOICE\n\nContoso Headquarters\n123 456th St\nNew York, NY, 10001\n\nINVOICE: INV-100\n\nINVOICE DATE: 11/15/2019\n\nDUE DATE: 12/15/2019\n\nCUSTOMER NAME: MICROSOFT CORPORATION...",
"fields": {
"AmountDue": {
"type": "object",
"valueObject": {
"Amount": {
"type": "number",
"valueNumber": 610,
"spans": [
{
"offset": 1522,
"length": 7
}
],
"confidence": 0.773,
"source": "D(1,7.3628,8.0459,7.9272,8.0459,7.9272,8.2070,7.3628,8.2070)"
},
"CurrencyCode": {
"type": "string",
"valueString": "USD"
}
}
},
"BalanceForward": {
"type": "object",
"valueObject": {
"Amount": {
"type": "number",
"valueNumber": 500,
"spans": [
{
"offset": 1474,
"length": 7
}
],
"confidence": 0.901,
"source": "D(1,7.3628,7.7445,7.9278,7.7467,7.9272,7.9092,7.3622,7.9070)"
},
"CurrencyCode": {
"type": "string",
"valueString": "USD"
}
}
},
"BillingAddress": {
"type": "string",
"valueString": "123 Bill St, Redmond WA, 98052",
"spans": [
{
"offset": 325,
"length": 12
},
"..."
],
"confidence": 0.712,
"source": "D(1,0.5805,3.9471,1.2858,3.9478,1.2856,4.1115,0.5803,4.1108);..."
},
"BillingAddressRecipient": {
"type": "string",
"valueString": "Microsoft Finance",
"spans": [
{
"offset": 307,
"length": 17
}
],
"confidence": 0.815,
"source": "D(1,0.5734,3.7392,1.8060,3.7521,1.8043,3.9201,0.5717,3.9072)"
},
"CountryRegion": {
"type": "string",
"valueString": "USA"
},
"CustomerAddress": {
"type": "string",
"valueString": "123 Other St, Redmond WA, 98052",
"spans": [
"..."
],
"confidence": 0.744,
"source": "..."
},
"CustomerAddressRecipient": {
"type": "string",
"valueString": "Microsoft Corp",
"spans": [
"..."
],
"confidence": 0.437,
"source": "..."
},
"CustomerId": {
"type": "string",
"valueString": "CID-12345",
"spans": [
"..."
],
"confidence": 0.936,
"source": "..."
},
"CustomerName": {
"type": "string",
"valueString": "MICROSOFT CORPORATION",
"spans": [
"..."
],
"confidence": 0.46,
"source": "..."
},
"CustomerTaxId": {
"type": "string",
"confidence": 0.912
},
"DueDate": {
"type": "date",
"valueDate": "2019-12-15",
"spans": [
"..."
],
"confidence": 0.97,
"source": "..."
},
"InvoiceDate": {
"type": "date",
"valueDate": "2019-11-15",
"spans": [
"..."
],
"confidence": 0.939,
"source": "..."
},
"InvoiceId": {
"type": "string",
"valueString": "INV-100",
"spans": [
"..."
],
"confidence": 0.733,
"source": "..."
},
"LineItems": {
"type": "array",
"valueArray": [
{
"type": "object",
"valueObject": {
"Date": {
"type": "date",
"valueDate": "2021-03-04",
"spans": [
"..."
],
"confidence": 0.894,
"source": "..."
},
"Description": {
"type": "string",
"valueString": "Consulting Services",
"spans": [
"..."
],
"confidence": 0.589,
"source": "..."
},
"ProductCode": {
"type": "string",
"valueString": "A123",
"spans": [
"..."
],
"confidence": 0.879,
"source": "..."
},
"Quantity": {
"type": "number",
"valueNumber": 2,
"spans": [
"..."
],
"confidence": 0.939,
"source": "..."
},
"QuantityUnit": {
"type": "string",
"valueString": "hours",
"spans": [
"..."
],
"confidence": 0.85,
"source": "..."
},
"TaxAmount": {
"type": "object",
"valueObject": {
"Amount": {
"type": "number",
"valueNumber": 6,
"spans": [
"..."
],
"confidence": 0.522,
"source": "..."
},
"CurrencyCode": {
"type": "string",
"valueString": "USD"
}
}
},
"TaxRate": {
"type": "number",
"confidence": 0.915
},
"TotalAmount": {
"type": "object",
"valueObject": {
"Amount": {
"type": "number",
"valueNumber": 60,
"spans": [
"..."
],
"confidence": 0.972,
"source": "..."
},
"CurrencyCode": {
"type": "string",
"valueString": "USD"
}
}
},
"UnitPrice": {
"type": "object",
"valueObject": {
"Amount": {
"type": "number",
"valueNumber": 30,
"spans": [
"..."
],
"confidence": 0.97,
"source": "..."
},
"CurrencyCode": {
"type": "string",
"valueString": "USD"
}
}
}
}
},
"... (2 additional line items)"
]
}
/*additional fields omitted*/
},
"kind": "document",
"startPageNumber": 1,
"endPageNumber": 1,
"unit": "inch",
"pages": [
{
"pageNumber": 1,
"angle": 0,
"width": 8.5,
"height": 11,
"words": [
"... (words omitted for brevity)"
],
"selectionMarks": [],
"lines": [
"... (lines omitted for brevity)"
],
"barcodes": [],
"formulas": []
}
],
"tables": [
"... (tables omitted for brevity)"
],
"keyValuePairs": [
"... (key-value pairs omitted for brevity)"
],
"analyzerId": "prebuilt-invoice",
"mimeType": "application/pdf"
}
]
},
"usage": {
"documentStandardPages": 1,
"contextualizationTokens": 2345,
"tokens": {
"gpt-4.1-mini-input": 1234,
"gpt-4.1-mini-output": 567
}
}
}
Następny krok
Teraz, gdy już wiesz, jak wywołać operację analizy, dowiedz się więcej o tworzeniu analizatorów niestandardowych dla przypadku użycia.