Doing final pass of adjustments with anythingllm (aggregate.py)
This commit is contained in:
@@ -128,8 +128,7 @@ def build_summary_section(base_dir: Path, files: list[str]) -> str:
|
|||||||
|
|
||||||
def build_markdown(base_dir: Path, files: list[str], screenshot_base_dir: Path, screenshots: list[str], history: list[str], summary_only: bool = False) -> str:
|
def build_markdown(base_dir: Path, files: list[str], screenshot_base_dir: Path, screenshots: list[str], history: list[str], summary_only: bool = False) -> str:
|
||||||
parts = []
|
parts = []
|
||||||
if history:
|
# STATIC PREFIX: Files and Screenshots must go first to maximize Cache Hits
|
||||||
parts.append("## Discussion History\n\n" + build_discussion_section(history))
|
|
||||||
if files:
|
if files:
|
||||||
if summary_only:
|
if summary_only:
|
||||||
parts.append("## Files (Summary)\n\n" + build_summary_section(base_dir, files))
|
parts.append("## Files (Summary)\n\n" + build_summary_section(base_dir, files))
|
||||||
@@ -137,6 +136,9 @@ def build_markdown(base_dir: Path, files: list[str], screenshot_base_dir: Path,
|
|||||||
parts.append("## Files\n\n" + build_files_section(base_dir, files))
|
parts.append("## Files\n\n" + build_files_section(base_dir, files))
|
||||||
if screenshots:
|
if screenshots:
|
||||||
parts.append("## Screenshots\n\n" + build_screenshots_section(screenshot_base_dir, screenshots))
|
parts.append("## Screenshots\n\n" + build_screenshots_section(screenshot_base_dir, screenshots))
|
||||||
|
# DYNAMIC SUFFIX: History changes every turn, must go last
|
||||||
|
if history:
|
||||||
|
parts.append("## Discussion History\n\n" + build_discussion_section(history))
|
||||||
return "\n\n---\n\n".join(parts)
|
return "\n\n---\n\n".join(parts)
|
||||||
|
|
||||||
def run(config: dict) -> tuple[str, Path]:
|
def run(config: dict) -> tuple[str, Path]:
|
||||||
@@ -153,8 +155,9 @@ def run(config: dict) -> tuple[str, Path]:
|
|||||||
output_dir.mkdir(parents=True, exist_ok=True)
|
output_dir.mkdir(parents=True, exist_ok=True)
|
||||||
increment = find_next_increment(output_dir, namespace)
|
increment = find_next_increment(output_dir, namespace)
|
||||||
output_file = output_dir / f"{namespace}_{increment:03d}.md"
|
output_file = output_dir / f"{namespace}_{increment:03d}.md"
|
||||||
|
# Provide full files to trigger Gemini's 32k cache threshold and give the AI immediate context
|
||||||
markdown = build_markdown(base_dir, files, screenshot_base_dir, screenshots, history,
|
markdown = build_markdown(base_dir, files, screenshot_base_dir, screenshots, history,
|
||||||
summary_only=True)
|
summary_only=False)
|
||||||
output_file.write_text(markdown, encoding="utf-8")
|
output_file.write_text(markdown, encoding="utf-8")
|
||||||
file_items = build_file_items(base_dir, files)
|
file_items = build_file_items(base_dir, files)
|
||||||
return markdown, output_file, file_items
|
return markdown, output_file, file_items
|
||||||
|
|||||||
Reference in New Issue
Block a user