Table of Contents

Constructor IngestionRecipe

Namespace
Qavren.Edge.Ingestion
Assembly
Qavren.Edge.Ingestion.dll

IngestionRecipe(int, string, int, string, string?, string?, string, int, int, string, int, ResolvedChunkOptions, string, string)

The tuple a chunk's vector is a pure function of (spec 9.2). When a document's stored recipe_hash differs from the run's, that document is dirty regardless of its content hash — which is what stops a MaxTokens change from leaving every old vector in place.

public IngestionRecipe(int SchemaVersion, string ModelProfileId, int Dimensions, string Pooling, string? DocumentPrefix, string? QueryPrefix, string TokenizerId, int TokenizerMaxSequenceLength, int SpecialTokenOverhead, string ChunkerId, int ChunkerVersion, ResolvedChunkOptions Chunking, string ExtractorFingerprint, string DistanceFunction)

Parameters

SchemaVersion int

The recipe's own shape version. Bump when a field is added.

ModelProfileId string

SP2's lower-case preset id, verbatim.

Dimensions int

The collection's declared width.

Pooling string

The model's pooling mode.

DocumentPrefix string

A token RESERVE and a recipe input only; SP3 never writes it.

QueryPrefix string

The query-side prefix, for completeness.

TokenizerId string

The tokenizer's vocabulary identity.

TokenizerMaxSequenceLength int

The tokenizer's ceiling.

SpecialTokenOverhead int

Tokens the encoder adds that CountTokens omits.

ChunkerId string

The selected chunker.

ChunkerVersion int

Its version.

Chunking ResolvedChunkOptions

The frozen budget, field by field.

ExtractorFingerprint string

The SELECTED extractor's "{Id}:{Version}", never the registry's: hashing the set would re-index an entire Markdown corpus because the PDF extractor's version was bumped. Because the selection is per document, the recipe a run freezes at startup carries the stand-in "*" in this one field, and the recipe actually written to and compared against recipe_hash is that baseline with the chosen extractor's fingerprint substituted. The baseline is what GetRecipeAsync, IngestionRunResult.RecipeHash and IngestionStatus.RecipeHash report, because it is the one recipe identity that does not depend on which file was next.

DistanceFunction string

The collection's distance function.