kiln_ai.adapters.chunkers.chunker_registry
1from kiln_ai.adapters.chunkers.base_chunker import BaseChunker 2from kiln_ai.adapters.chunkers.fixed_window_chunker import FixedWindowChunker 3from kiln_ai.adapters.chunkers.semantic_chunker import SemanticChunker 4from kiln_ai.datamodel.chunk import ChunkerConfig, ChunkerType 5from kiln_ai.utils.exhaustive_error import raise_exhaustive_enum_error 6 7 8def chunker_adapter_from_type( 9 chunker_type: ChunkerType, 10 chunker_config: ChunkerConfig, 11) -> BaseChunker: 12 match chunker_type: 13 case ChunkerType.FIXED_WINDOW: 14 return FixedWindowChunker(chunker_config) 15 case ChunkerType.SEMANTIC: 16 return SemanticChunker(chunker_config) 17 case _: 18 # type checking will catch missing cases 19 raise_exhaustive_enum_error(chunker_type)
def
chunker_adapter_from_type( chunker_type: kiln_ai.datamodel.chunk.ChunkerType, chunker_config: kiln_ai.datamodel.chunk.ChunkerConfig) -> kiln_ai.adapters.chunkers.base_chunker.BaseChunker:
9def chunker_adapter_from_type( 10 chunker_type: ChunkerType, 11 chunker_config: ChunkerConfig, 12) -> BaseChunker: 13 match chunker_type: 14 case ChunkerType.FIXED_WINDOW: 15 return FixedWindowChunker(chunker_config) 16 case ChunkerType.SEMANTIC: 17 return SemanticChunker(chunker_config) 18 case _: 19 # type checking will catch missing cases 20 raise_exhaustive_enum_error(chunker_type)