Skip to main content

JSON output

Final point of an extraction portfolio: the job returns the JSON produced by the JSON extraction node(s) wired to it. No annotated document is produced. A pipeline can hold only one node of this type, and never together with a document Output or a chat entry.

An extraction portfolio accepts the usual documents (.docx, .pdf, .pptx, .xlsx, .odt, .ods, .odp) and images (.jpg, .png, .tif, .tiff, .bmp), read by a vision model.

Ports​

  • Input (left, JSON type): connect it from one or more JSON extraction nodes.
  • No output.

Configuration​

None.

Getting the result​

  • In the app, the JSON button of the history downloads the extracted JSON. The results column shows whether it matches the format (✓) or not (⚠).
  • In the editor, the test panel shows the JSON result tab: verdict, format deviations, conflicts between pages and the full JSON.
  • Through the API, GET /api/jobs/{id}/extraction returns:
{
"data": { "numero_facture": "FA-2024-0042", "lignes": [ … ] },
"valid": true,
"errors": [],
"conflicts": [],
"pages": 3,
"mode": "text",
"sources": [{ "node_id": "…", "label": "Invoice extraction" }],
"windows": [{ "pages": "Pages 1–3", "method": "json_schema", "attempts": 1, … }]
}

data follows the format defined in the node. valid is false when the result still deviates from it after the correction passes, and errors says where. conflicts lists values found with different contents on several pages (the first one is kept).

Several extraction nodes​

With a Switch upstream, a single route runs: the result is that of its extraction node. When several extraction nodes run for the same document (for example one for the header reading text, one for the table reading images), their JSONs are merged, and a key filled differently is reported as a conflict.

What is not available​

An extraction portfolio appears neither in the Benchmark, which compares annotations, nor among the pipelines offered in Microsoft Teams. It cannot be called from a Pipeline node either.