atlasbot: cap kb chunk size by mode

This commit is contained in:
Brad Stein 2026-02-04 18:37:16 -03:00
parent 109ae4e645
commit c0ce6335a7

View File

@ -77,6 +77,8 @@ class ModePlan:
chunk_lines: int
chunk_top: int
chunk_group: int
kb_max_chars: int
kb_max_files: int
parallelism: int
score_retries: int
use_deep_retrieval: bool
@ -335,7 +337,7 @@ class AnswerEngine:
if observer:
observer("retrieve", "scoring chunks")
chunks = _chunk_lines(summary_lines, plan.chunk_lines)
kb_lines = self._kb.chunk_lines() if self._kb else []
kb_lines = self._kb.chunk_lines(max_files=plan.kb_max_files, max_chars=plan.kb_max_chars) if self._kb else []
if kb_lines:
kb_chunks = _chunk_lines(kb_lines, plan.chunk_lines)
for idx, chunk in enumerate(kb_chunks):
@ -1135,6 +1137,8 @@ def _mode_plan(settings: Settings, mode: str) -> ModePlan:
chunk_lines=6,
chunk_top=10,
chunk_group=4,
kb_max_chars=5000,
kb_max_files=18,
parallelism=4,
score_retries=3,
use_deep_retrieval=True,
@ -1154,6 +1158,8 @@ def _mode_plan(settings: Settings, mode: str) -> ModePlan:
chunk_lines=8,
chunk_top=8,
chunk_group=4,
kb_max_chars=3000,
kb_max_files=12,
parallelism=2,
score_retries=2,
use_deep_retrieval=True,
@ -1172,6 +1178,8 @@ def _mode_plan(settings: Settings, mode: str) -> ModePlan:
chunk_lines=12,
chunk_top=5,
chunk_group=5,
kb_max_chars=1200,
kb_max_files=6,
parallelism=1,
score_retries=1,
use_deep_retrieval=False,