fix: Gemma route 시 대화 이력 전달 — 컨텍스트 단절 해결
reasoner_messages에 conversation_store의 최근 10개 메시지 포함. "더 자세히 설명해줘" 같은 후속 질문이 이전 컨텍스트를 잇도록. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -394,10 +394,15 @@ async def run(job: Job) -> None:
|
||||
kst = timezone(timedelta(hours=9))
|
||||
now_kst = datetime.now(kst).strftime("%Y년 %m월 %d일 %H:%M (%A) KST")
|
||||
reasoner_system = f"{backend_registry.reasoner.system_prompt}\n\n현재 시간: {now_kst} (한국 표준시)"
|
||||
reasoner_messages = [
|
||||
{"role": "system", "content": reasoner_system},
|
||||
{"role": "user", "content": rewritten_message},
|
||||
]
|
||||
|
||||
# 대화 이력을 OpenAI messages 형식으로 변환 (현재 user 메시지 포함됨)
|
||||
history_msgs = conversation_store.get(user_id)[-10:]
|
||||
reasoner_messages = [{"role": "system", "content": reasoner_system}]
|
||||
for m in history_msgs:
|
||||
reasoner_messages.append({"role": m.role, "content": m.content})
|
||||
# 현재 메시지가 history 마지막에 없으면 추가 (안전장치)
|
||||
if not reasoner_messages or reasoner_messages[-1].get("content") != rewritten_message:
|
||||
reasoner_messages.append({"role": "user", "content": rewritten_message})
|
||||
|
||||
try:
|
||||
ok = await _stream_with_cancel(backend_registry.reasoner, rewritten_message, job, collected, messages=reasoner_messages)
|
||||
|
||||
Reference in New Issue
Block a user