Class IngestionEdgeBuilderExtensions
The four builder calls Qavren.Edge.Ingestion publishes.
public static class IngestionEdgeBuilderExtensions
- Inheritance
-
IngestionEdgeBuilderExtensions
- Inherited Members
Methods
- AddDocumentExtractor(EdgeBuilder, IDocumentExtractor)
Registers one consumer IDocumentExtractor, ahead of the built-ins. The registry is composed at RESOLVE time, so this may be called before or after AddIngestion(EdgeBuilder, int, Action<IngestionOptions>?) — which is what makes
AddPdfExtractor()andAddDocxExtractor()order-independent.
- AddDocumentExtractor(EdgeBuilder, Func<IServiceProvider, IDocumentExtractor>)
The factory overload, for an extractor that needs services.
- AddIngestion(EdgeBuilder, int, Action<IngestionOptions>?)
The one call. It registers two migrations —
migrationVersionfor the chunk collection, through SP2's ownAddVectorCollectionMigration, andmigrationVersion+ 1 for the three ingestion-state tables — plus the pipeline, the state store, the extractor registry (text + markdown), the chunkers, the lifecycle observer, the diagnostics contributor, and one order-400 startup task that opens NO database.Both versions are claimed. They must be unique and ascending across the whole database:
PRAGMA user_versionis one counter, so a second migration atmigrationVersion+ 1 elsewhere is MigrationVersionConflict from SP1's registry.Idempotent per collection; a second call for the same collection throws IngestionMigrationVersionConflict (6007).
- UseChunkTokenizer(EdgeBuilder, Func<IServiceProvider, IChunkTokenizer>)
Supplies the IChunkTokenizer without the ONNX satellite —
EdgeTokenCounter.CreateWordPiecebuilds one from avocab.txt.
- UseIngestionThrottle(EdgeBuilder, Func<IServiceProvider, IIngestionThrottle>)
Replaces FixedIngestionThrottle with a consumer's policy.