all2md.options.search

Configuration options for the search subsystem.

class all2md.options.search.SearchOptions

Bases: CloneFrozenMixin

Search configuration toggles used by the CLI and API.

chunk_size_tokens: int = 320
chunk_overlap_tokens: int = 40
min_chunk_tokens: int = 60
include_preamble: bool = True
heading_merge: bool = True
max_heading_level: int | None = None
bm25_k1: float = 1.5
bm25_b: float = 0.75
vector_model_name: str = 'sentence-transformers/all-MiniLM-L6-v2'
vector_batch_size: int = 32
vector_device: str | None = None
vector_normalize_embeddings: bool = True
hybrid_keyword_weight: float = 0.5
hybrid_vector_weight: float = 0.5
default_mode: str = 'keyword'
grep_context_before: int = 0
grep_context_after: int = 0
grep_regex: bool = False
grep_ignore_case: bool = False
grep_show_line_numbers: bool = False
grep_max_columns: int = 150
__init__(chunk_size_tokens: int = 320, chunk_overlap_tokens: int = 40, min_chunk_tokens: int = 60, include_preamble: bool = True, heading_merge: bool = True, max_heading_level: int | None = None, bm25_k1: float = 1.5, bm25_b: float = 0.75, vector_model_name: str = 'sentence-transformers/all-MiniLM-L6-v2', vector_batch_size: int = 32, vector_device: str | None = None, vector_normalize_embeddings: bool = True, hybrid_keyword_weight: float = 0.5, hybrid_vector_weight: float = 0.5, default_mode: str = 'keyword', grep_context_before: int = 0, grep_context_after: int = 0, grep_regex: bool = False, grep_ignore_case: bool = False, grep_show_line_numbers: bool = False, grep_max_columns: int = 150) None