FactoryCorpusBuilder#
- class scikitplot.corpus.FactoryCorpusBuilder(config=None, *, factories=None)[source]#
CorpusBuilderextended with pluggable component factories.All public methods (
build,add,search,to_langchain, etc.) are available through delegation to the wrappedCorpusBuilder. When a factory is provided for a given component, it replaces the corresponding lazy-init method.- Parameters:
- configBuilderConfig or None, optional
Pipeline configuration.
Noneuses defaults.- factoriesBuilderFactories or None, optional
Component factory callables.
Nonedisables all overrides.
- Parameters:
config (Any | None)
factories (BuilderFactories | None)
Notes
User note: Use
FactoryCorpusBuilderwhen you need to inject components that cannot be described by configuration alone — custom readers with per-source state, enrichers backed by remote APIs, embedding engines with non-standard initialisation, etc.Developer note: Factory injection is performed by overriding the private
_get_*lazy-init methods inherited fromCorpusBuilder.Examples
Inject a custom embedding engine factory:
def my_embed_factory(): return MyEmbeddingEngine(model="custom-embedder-v2") factories = BuilderFactories(embedding_engine_factory=my_embed_factory) builder = FactoryCorpusBuilder( config=BuilderConfig(embed=True, build_index=True), factories=factories, ) result = builder.build("./papers/") results = builder.search("attention mechanism")