Even better way to handle continue for thinking blocks

This commit is contained in:
oobabooga 2025-08-30 12:36:35 -07:00
parent cf1aad2a68
commit 3a3e247f3c

View file

@ -333,20 +333,19 @@ def generate_chat_prompt(user_input, state, **kwargs):
if _continue:
prompt = prompt.split("fake assistant message replace me", 1)[0]
content = last_message.get("content", "")
thinking = last_message.get("thinking", "")
reasoning = last_message.get("reasoning_content", "")
partial_thought = thinking or reasoning
content = last_message.get("content", "")
partial_thought = last_message.get("thinking", "") or last_message.get("reasoning_content", "")
# Handle partial thinking blocks (GPT-OSS and Seed-OSS)
if partial_thought and partial_thought.strip():
if not content and partial_thought and partial_thought.strip():
search_string = partial_thought.strip()
index = prompt.rfind(search_string)
if index != -1:
prompt = prompt[:index] + partial_thought
else:
# Fallback
prompt += content
# Fallback if search fails: just append the thought
prompt += partial_thought
else:
# All other cases
prompt += content