feat(rag): lite-model document summaries — non-markdown docs summarized at import, summary chunk retrieves and resolves to the full source doc
This commit is contained in:
@@ -41,6 +41,11 @@ class Settings(BaseSettings):
|
||||
llm_api_key: str = ""
|
||||
llm_chat_model: str = "turbo"
|
||||
llm_embed_model: str = "embed"
|
||||
#: One-shot (non-streaming) completion model (A5 extended, phase 30):
|
||||
#: document summaries at import time and the KB overview (phase 31).
|
||||
#: Served by the same OpenAI-compatible endpoint — no new model
|
||||
#: management. Called via ``LLMClient.chat()``.
|
||||
llm_summary_model: str = "lite"
|
||||
#: Operator kill-switch for the ``thinking`` SSE events (phase 17,
|
||||
#: ``BOR_STREAM_THINKING``; ``0``/``false`` → off). When off, thinking
|
||||
#: pieces are still counted for the per-turn log line but never
|
||||
@@ -66,6 +71,11 @@ class Settings(BaseSettings):
|
||||
#: (phase 15, steering notes). The newest-fitting notes are kept and the
|
||||
#: overflow is replaced by the ``[…truncated…]`` marker.
|
||||
steering_max_chars: int = 8_000
|
||||
#: Cap on the document content sent to the ``lite`` summary model in one
|
||||
#: call (phase 30, ``BOR_SUMMARY_MAX_CHARS``). Overflow is cut at the cap
|
||||
#: and the shared ``[…truncated…]`` marker is appended (see
|
||||
#: ``app.rag.summarizer``).
|
||||
summary_max_chars: int = 12_000
|
||||
|
||||
# --- Hybrid retrieval (A7, revised 2026-08-21) ---
|
||||
# cosine top-N ∪ Postgres FTS top-N, fused with Reciprocal Rank Fusion
|
||||
|
||||
Reference in New Issue
Block a user