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