Auto-clear refs on new chat (no history + non-meta first user message)
Browse files- src/kpaa/server.py +17 -0
src/kpaa/server.py
CHANGED
|
@@ -572,6 +572,23 @@ def create_app() -> FastAPI:
|
|
| 572 |
async def chat_completions(req: ChatRequest):
|
| 573 |
history, query = _split_history_and_query(req.messages)
|
| 574 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 575 |
if req.stream:
|
| 576 |
return StreamingResponse(
|
| 577 |
_stream_chat(req, query, history),
|
|
|
|
| 572 |
async def chat_completions(req: ChatRequest):
|
| 573 |
history, query = _split_history_and_query(req.messages)
|
| 574 |
|
| 575 |
+
# 새 대화 자동 감지 — Open WebUI 의 "새 대화" 클릭 후 첫 질문은
|
| 576 |
+
# `history` 가 비어 있다 (prior assistant turn 없음). 메타 프롬프트
|
| 577 |
+
# (제목 자동생성 등) 는 제외하고, 사용자 첫 질문일 때만 우측 패널
|
| 578 |
+
# 즉시 비움. 이후 RAG 검색 결과가 새로 채워짐.
|
| 579 |
+
if not history and not _is_meta_query(query):
|
| 580 |
+
_last_refs.update({
|
| 581 |
+
"ts": time.time(),
|
| 582 |
+
"query": "",
|
| 583 |
+
"intents": [],
|
| 584 |
+
"jo_targets": [],
|
| 585 |
+
"elapsed_ms": 0,
|
| 586 |
+
"excerpts": [],
|
| 587 |
+
"cited_citations": [],
|
| 588 |
+
"llm_excerpt_citations": [],
|
| 589 |
+
"geungeo_indices_in_answer": [],
|
| 590 |
+
})
|
| 591 |
+
|
| 592 |
if req.stream:
|
| 593 |
return StreamingResponse(
|
| 594 |
_stream_chat(req, query, history),
|