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.datamodel.chunk import ChunkerConfig, ChunkerType
 4from kiln_ai.utils.exhaustive_error import raise_exhaustive_enum_error
 5
 6
 7def chunker_adapter_from_type(
 8    chunker_type: ChunkerType,
 9    chunker_config: ChunkerConfig,
10) -> BaseChunker:
11    match chunker_type:
12        case ChunkerType.FIXED_WINDOW:
13            return FixedWindowChunker(chunker_config)
14        case _:
15            # type checking will catch missing cases
16            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:
 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 _:
16            # type checking will catch missing cases
17            raise_exhaustive_enum_error(chunker_type)