Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Este guia de início rápido mostra como usar a API REST de Compreensão de Conteúdo para obter dados estruturados de conteúdo multimodal em arquivos de documento, imagem, áudio e vídeo.
Pré-requisitos
- Para começar, você precisa de uma assinatura ativa do Azure. Se você não tiver uma conta do Azure, crie uma gratuitamente.
- Depois de ter a sua subscrição Azure, crie um recurso Microsoft Foundry no portal Azure. Certifique-se de criá-lo em uma região suportada.
- Configure implementações de modelos padrão para o seu recurso de Compreensão de Conteúdo. Definir os padrões cria uma ligação aos modelos Foundry que usa para pedidos de Compreensão de Conteúdo. Escolha um dos métodos seguintes:
- Vá à página de definições de Compreensão de Conteúdo
- Selecione o botão "+ Adicionar recurso" no canto superior esquerdo
- Selecione o recurso Foundry que pretende usar e clique em Seguinte, depois Guardar
- Certifique-se de deixar "Ativar a implantação automática para modelos obrigatórios caso não existam predefinições disponíveis." assinalado. Isto assegura que o seu recurso está configurado integralmente com os modelos requisitados GPT-4.1, GPT-4.1-mini e text-embedding-3-large. Diferentes analisadores pré-montados requerem modelos diferentes.
- Neste guia, usamos a ferramenta de linha de comando cURL. Se ele não estiver instalado, você poderá baixar a versão apropriada para seu ambiente de desenvolvimento.
Introdução a um analisador pré-construído
Os analisadores definem como seu conteúdo é processado e os insights que são extraídos. Oferecemos analisadores pré-construídos para casos de uso comuns. Você pode personalizar analisadores pré-construídos para melhor atender às suas necessidades específicas e casos de uso. Este início rápido utiliza analisadores pré-definidos de faturas, imagens, áudio e vídeo para ajudá-lo a começar.
Envie um ficheiro para análise
Antes de executar o seguinte comando cURL, faça as seguintes alterações na solicitação HTTP:
- Substitua
{endpoint}e{key}pelos valores correspondentes da sua instância Foundry no portal Azure.
Pedido POST
Este exemplo utiliza o prebuilt-invoice analisador para extrair dados estruturados de um documento de fatura.
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"}]
}'
Resposta POST
O cabeçalho de resposta inclui um Operation-Location campo, que utiliza para recuperar os resultados da operação de análise assíncrona.
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
Importante
Copie o URL de Localização da Operação a partir do cabeçalho da resposta. Vai usar este URL na próxima etapa para obter os resultados da análise.
Obter resultado da análise
Use o Operation-Location da POST resposta e recupere o resultado da análise.
Pedido GET
curl -i -X GET "{endpoint}/contentunderstanding/analyzerResults/{request-id}?api-version=2025-11-01" \
-H "Ocp-Apim-Subscription-Key: {key}"
OBTER resposta
A resposta JSON 200 (OK) inclui um status campo que indica o status da operação. Se a operação não estiver concluída, o valor de status é Running ou NotStarted. Nesses casos, você deve enviar a GET solicitação novamente, manualmente ou por meio de um script. Aguarde um intervalo de um segundo ou mais entre as chamadas.
{
"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
}
}
}
Próximo passo
Agora que sabe como invocar a operação de análise, saiba mais sobre como construir analisadores personalizados para o seu caso de uso.