Skip to content

Interface: IngestionConfigDto

@kortexya/reasoninglayer


@kortexya/reasoninglayer / IngestionConfigDto

Defined in: src/types/ingestion.ts:454

Configuration for ingestion.

Controls LLM extraction, NER, deduplication, schema discovery, and various quality pipeline options.

Carried by ingestionConfig on IngestDocumentRequest, IngestDocumentBatchRequest and IngestAudioRequest, and by config on IngestMarkdownRequest, IngestMarkdownBatchRequest and ResumeDocumentIngestionRequest. The engine applies every option both inline and in queued (sync: false) mode. A document batch applies the one config to each item, with documentId replaced by the item’s id. The wire keys are snake_case; the engine refuses an unknown key with 422.

optional autoCreateSorts?: boolean

Defined in: src/types/ingestion.ts:456

Whether to automatically create new sorts for unrecognized entity types.


optional collectionPath?: string | null

Defined in: src/types/ingestion.ts:467

Collection path of the document-registry entry, used to group documents for corpus-level analysis. null or absent files the document at the root.

When the bytes were already ingested in the tenant, a path that differs from the existing document’s moves THAT document here; absent leaves it where it is.


optional deduplicationThreshold?: number

Defined in: src/types/ingestion.ts:469

Confidence threshold for deduplication (0.0 - 1.0).


optional documentId?: string | null

Defined in: src/types/ingestion.ts:471

Optional document ID for tracking sort provenance.


optional domainInstructions?: string[]

Defined in: src/types/ingestion.ts:473

Domain-specific instructions for LLM extraction.


optional enableClauseExtraction?: boolean

Defined in: src/types/ingestion.ts:479

Extract contract clauses (obligations, permissions, prohibitions, definitions, conditions) as Psi-terms with document provenance. Needs an LLM; the stage is skipped when none is configured. Default: true.


optional enableDescriptionConsolidation?: boolean

Defined in: src/types/ingestion.ts:481

Enable cross-chunk description consolidation. Default: true.


optional enableDocumentEnrichment?: boolean

Defined in: src/types/ingestion.ts:487

Generate a document summary, key points and Q&A pairs, stored on the document term. Needs an LLM; the stage is skipped when none is configured. Default: true.


optional enableEntityFiltering?: boolean

Defined in: src/types/ingestion.ts:489

Enable post-extraction entity filtering. Default: true.


optional enableEvidenceEnrichment?: boolean

Defined in: src/types/ingestion.ts:501

Enable LLM-based evidence enrichment with statistical features. Default: false.


optional enableFocusedExtraction?: boolean

Defined in: src/types/ingestion.ts:491

Enable focused extraction prompts. Default: true.


optional enableLlmCoreference?: boolean

Defined in: src/types/ingestion.ts:497

Resolve hard coreference cases (“Stanley Reed” vs “Justice Reed”) with one LLM call per candidate pair after structural deduplication. Breaks the zero-LLM-token guarantee of the local_ner strategy. Default: false.


optional enableSchemaDiscovery?: boolean

Defined in: src/types/ingestion.ts:499

Enable schema discovery before extraction. Default: true.


optional enableZeroDegreeFiltering?: boolean

Defined in: src/types/ingestion.ts:503

Enable zero-degree entity removal. Default: false.


optional evidenceDerivationConfig?: EvidenceDerivationConfigDto | null

Defined in: src/types/ingestion.ts:508

Configuration for deriving evidence terms from relational features. When set, entities with Reference features automatically get linked evidence terms.


optional extractionStrategy?: ExtractionStrategy

Defined in: src/types/ingestion.ts:523

Extraction strategy — an internally tagged discriminated union.

Wire format uses #[serde(tag = "type")]. Pass an object with a type discriminator.

{ type: 'llm' }
{ type: 'hybrid', nerConfidenceThreshold: 0.8 }

optional extractRelations?: boolean

Defined in: src/types/ingestion.ts:510

Whether to extract relations between entities.


optional forceExtractionStrategy?: boolean

Defined in: src/types/ingestion.ts:528

When true, skip the auto-upgrade from Llm to LocalNer even if NER is available. Used for A/B comparison tests. Default: false.


optional nerConfidenceThreshold?: number

Defined in: src/types/ingestion.ts:530

NER confidence threshold (0.0 - 1.0). Default: 0.5.


optional nerEntityLabels?: string[]

Defined in: src/types/ingestion.ts:532

Entity labels for NER extraction.


optional nerRelationConfidenceThreshold?: number

Defined in: src/types/ingestion.ts:534

NER relation confidence threshold (0.0 - 1.0). Default: 0.5.


optional nerRelationLabels?: string[]

Defined in: src/types/ingestion.ts:536

Relation labels for NER relation extraction.


optional previousDocumentId?: string | null

Defined in: src/types/ingestion.ts:549

Document-registry id (UUID) of the previous version of this document. When set, the new document joins that version family as version + 1.

An id that names no document of this tenant (or is not a UUID) is refused with 404 previous_document_not_found, and nothing is ingested. When the bytes were already ingested, the EXISTING document is linked as the next version instead; if that document already has other versions, the upload is refused with 409 duplicate_document_version_conflict. See DocumentVersionErrorCode.


optional rejectAnonymizedReferences?: boolean

Defined in: src/types/ingestion.ts:555

Reject anonymized reference patterns from case studies. Filters patterns like “Monsieur X”, “société A”, “Company A”. Only active when entity filtering is enabled. Default: true.


optional skipFingerprint?: boolean

Defined in: src/types/ingestion.ts:557

Skip fingerprint check (force re-ingestion).


optional skipRelationCompletion?: boolean

Defined in: src/types/ingestion.ts:559

Skip automatic relation completion between extracted entities.