Extraia dados de notas fiscais para JSON com um LLM, com retenção zero de dados
Um agente transforma o texto de uma nota fiscal em JSON estruturado e confere se os totais batem. A execução não guarda nada depois.
- Arquivos
- Retenção zero de dados
- Limite de orçamento
Veja uma execução real
Uma execução real em 7 de out. de 2026, reproduzida. Modelo: openai/gpt-6-luna.
- Na filaorçamento de $0.03 reservado
- MicroVMmicroVM ready
- MicroVMworker started · shell off · web off
- Arquivo
read invoice.txt - MicroVMmicroVM destroyed
- Concluída2 chamadas ao modelo, 2,304 tokensSaída gravada (em inglês)
{ "vendor": "Fjord Supplies AS", "invoice_number": "FS-2026-0417", "invoice_date": "2026-09-30", "due_date": "2026-10-30", "currency": "EUR", "line_items": [ { "description": "Organic flour 25 kg", "quantity": 8, "unit_price": 31.5, "amount": 252 }, { "description": "Sunflower oil 10 l", "quantity": 5, "unit_price": 24, "amount": 120 }, { "description": "Delivery (pallet)", "quantity": 1, "unit_price": 45, "amount": 45 } ], "subtotal": 417, "tax": 104.25, "total": 531.25, "checks": { "line_items_sum_matches_subtotal": true, "subtotal_plus_tax_matches_total": false, "notes": "Subtotal plus VAT is 521.25, which is 10.00 less than the printed total of 531.25." } } - Worker destruído$0.003496 cobrados, $0.026504 liberados
A retenção zero de dados estava ativada nesta execução.
Execute você mesmo
Abra o exemplo no playground com a requisição inteira preenchida. Ele roda na sua própria conta, dentro do orçamento indicado, contra os mesmos sistemas de exemplo somente leitura.
Orçamento deste exemplo: $0.03
Como funciona
Notas fiscais trazem nomes, endereços e dados bancários, então esta execução usa retenção zero de dados. O agente devolve fornecedor, número, datas, itens e totais em JSON e sinaliza a nota quando a conta não fecha. Para documentos digitalizados, rode OCR antes e envie o texto.
O que o agente pode e não pode fazer
As permissões fazem parte da requisição. Tudo o que não está listado aqui não está disponível para a execução.
| Configuração | Permitido |
|---|---|
| Conexões | Nenhuma |
| Web | Desativado |
| Shell | Desativado |
| Arquivos | invoice.txt (somente leitura) |
| Retenção zero de dados | Ativada: nenhum rastro é registrado e a saída é devolvida uma única vez |
| Orçamento | $0.03, um limite rígido |
| Tempo limite | 60 segundos |
As credenciais nunca entram na máquina: um broker as adiciona a cada chamada e aplica os métodos acima.
O código
Esta é a requisição exata que o exemplo envia. Defina EPHEMERAL_API_KEY com uma chave de membro da sua organização.
curl -X POST $EPHEMERAL_URL/v1/runs \
-H "Authorization: Bearer $EPHEMERAL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $(uuidgen)" \
-d @request.jsonArquivos na requisição
Enviados inline, então nada é carregado antes. O agente vê cada um como um arquivo somente leitura.
invoice.txt
INVOICE
Fjord Supplies AS
Storgata 12, 0155 Oslo, Norway
VAT no: NO 123 456 789 MVA
Invoice number: FS-2026-0417
Invoice date: 2026-09-30
Due date: 2026-10-30
Bill to: Example Bakery Ltd, 5 High Street, London
Description Qty Unit price (EUR) Amount (EUR)
Organic flour 25 kg 8 31.50 252.00
Sunflower oil 10 l 5 24.00 120.00
Delivery (pallet) 1 45.00 45.00
Subtotal 417.00
VAT 25% 104.25
Total due 531.25
Payment: bank transfer, IBAN NO93 8601 1117 947, reference FS-2026-0417
Corpo completo da requisição request.json
O mesmo corpo, com os arquivos inline.
{
"prompt": "Extract the invoice in invoice.txt. Reply with one JSON object and nothing else: {\"vendor\": string, \"invoice_number\": string, \"invoice_date\": \"YYYY-MM-DD\", \"due_date\": \"YYYY-MM-DD\", \"currency\": string, \"line_items\": [{\"description\": string, \"quantity\": number, \"unit_price\": number, \"amount\": number}], \"subtotal\": number, \"tax\": number, \"total\": number, \"checks\": {\"line_items_sum_matches_subtotal\": boolean, \"subtotal_plus_tax_matches_total\": boolean, \"notes\": string}}. Copy numbers exactly as printed, then do the arithmetic for the checks. Use null for any field the document does not show.",
"files": [
{
"path": "invoice.txt",
"content": "INVOICE\n\nFjord Supplies AS\nStorgata 12, 0155 Oslo, Norway\nVAT no: NO 123 456 789 MVA\n\nInvoice number: FS-2026-0417\nInvoice date: 2026-09-30\nDue date: 2026-10-30\nBill to: Example Bakery Ltd, 5 High Street, London\n\nDescription Qty Unit price (EUR) Amount (EUR)\nOrganic flour 25 kg 8 31.50 252.00\nSunflower oil 10 l 5 24.00 120.00\nDelivery (pallet) 1 45.00 45.00\n\nSubtotal 417.00\nVAT 25% 104.25\nTotal due 531.25\n\nPayment: bank transfer, IBAN NO93 8601 1117 947, reference FS-2026-0417\n"
}
],
"shell": false,
"timeout_seconds": 60,
"max_cost_micros": 30000,
"zero_data_retention": true
}