Emit __start signal at call_model entry for instant UI feedback

call_model now emits writer({"__start": True}) before LLM inference.
stream_response() converts it to {"__status": label} — distinct from
__meta so the UI shows it immediately without accumulating in the log.
Removes the 10-second silent wait before the first progress message.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
sal
2026-06-01 13:08:30 +09:00
parent c061aef220
commit c0992374af
+8
View File
@@ -115,6 +115,9 @@ class AgentService:
writer = get_stream_writer()
except Exception:
writer = None
# LLM 추론 시작 직전에 즉시 신호 emit — UI에 "분석 중" 표시
if writer:
writer({"__start": True})
# 체크박스 값을 모델의 enable_thinking으로 전달 (런타임 오버라이드)
show_thinking = config.get("configurable", {}).get("show_thinking", False)
_llm = llm_with_tools.bind(enable_thinking=show_thinking) if show_thinking != chat_model.enable_thinking else llm_with_tools
@@ -249,6 +252,11 @@ class AgentService:
# ── custom 이벤트 ────────────────────────────────────────────
if mode == "custom":
if isinstance(data, dict) and "__start" in data:
# call_model 시작 즉시 emit — LLM 추론 전에 상태 표시
label = "검색 결과를 분석하고 있습니다..." if prev_node == "tools" else "질문을 분석하고 있습니다..."
yield {"__status": label}
continue
if isinstance(data, dict) and "__query_rewrite" in data:
info = data["__query_rewrite"]
if lg or self._rag_verbose: