Skip to content

Release 1.2 — “COMPLETE Research & Unified Debug”

Choose a tag to compare

@ShaoRou459 ShaoRou459 released this 17 Aug 16:02
· 37 commits to main since this release
9f979e0

Highlights

  • COMPLETE iterative research workflow added to exasearch.py with clear multi-phase loop and robust stop conditions.
  • Unified, color-coded debug system embedded in autotoo.py with consistent metrics and end-of-session summaries.
  • Hardened LLM response normalization and parsing using a simplified ANSWER: convention across prompts.

New/Improved

  • Iterative Research Flow (exasearch.py)

    • Phases: Intro query → Objectives → Iteration (reasoning, multi-query search, crawl, findings, conclusion) → Final synthesis.
    • Correct FINISH/max-iteration handling in a single loop (no duplicate restarts).
    • Intro search retries with query broadening and graceful fallback.
    • Replaced missing _search_and_crawl with _safe_exa_search + _safe_exa_crawl; aggregate {content, sources} for context.
    • Larger, defensible truncation limits (intro, objectives, findings, per-crawl summary).
    • All prompts include {current_date}/{current_year} to fix KeyError: 'current_year' and keep time-aware.
  • Unified Debug System (autotoo.py)

    • Structured metrics: timings, LLM calls, failures, routing, vision.
    • Color-coded/timestamped logs with context-managed timers.
    • End-of-session metrics summary with stable categories: FLOW, DATA, SEARCH, CRAWL, AGENT, ITERATION, SYNTHESIS, ERROR.
  • Routing & Prompts

    • Router prompt improved for explicit level selection: CRAWL | STANDARD | COMPLETE.
    • Smarter bias toward COMPLETE for complex/multi-part queries.
    • ANSWER: decision format enforced; parser hardened and non-silent fallback to avoid defaulting to STANDARD.

Robustness & Parsing

  • Normalize diverse LLM outputs in generate_with_retry() and COMPLETE flow:
    • Accepts JSONResponse, choices, content, message, or raw string.
    • Detailed logs on type, keys, and content preview for troubleshooting.
  • Guarded access to valves.show_sources with sane default.
  • Fixed Debug.search() misuse (single string parameter).

Performance & Metrics

  • Concurrency/latency metrics integrated for Exa search and crawl (with asyncio.to_thread wrappers).
  • Added timing metrics for vision analysis and router LLM calls.

Documentation/Comments

  • Clarified core rules comment in autotoo.py on when to use web search.

Breaking Changes

  • None known. Prompts standardized to ANSWER:; legacy “Final Answer:” still parsed as fallback.

Upgrade Notes

  • If you extended prompts, ensure they include {current_year}/{current_date} and emit ANSWER: lines.
  • Consider configuring log verbosity to leverage the new debug summaries.