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))
|
kst = timezone(timedelta(hours=9))
|
||||||
now_kst = datetime.now(kst).strftime("%Y년 %m월 %d일 %H:%M (%A) KST")
|
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_system = f"{backend_registry.reasoner.system_prompt}\n\n현재 시간: {now_kst} (한국 표준시)"
|
||||||
reasoner_messages = [
|
|
||||||
{"role": "system", "content": reasoner_system},
|
# 대화 이력을 OpenAI messages 형식으로 변환 (현재 user 메시지 포함됨)
|
||||||
{"role": "user", "content": rewritten_message},
|
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:
|
try:
|
||||||
ok = await _stream_with_cancel(backend_registry.reasoner, rewritten_message, job, collected, messages=reasoner_messages)
|
ok = await _stream_with_cancel(backend_registry.reasoner, rewritten_message, job, collected, messages=reasoner_messages)
|
||||||
|
|||||||
Reference in New Issue
Block a user