| @@ -314,6 +314,7 @@ class OllamaLargeLanguageModel(LargeLanguageModel): | |||
| """ | |||
| full_text = "" | |||
| chunk_index = 0 | |||
| is_reasoning_started = False | |||
| def create_final_llm_result_chunk( | |||
| index: int, message: AssistantPromptMessage, finish_reason: str | |||
| @@ -367,6 +368,14 @@ class OllamaLargeLanguageModel(LargeLanguageModel): | |||
| # transform assistant message to prompt message | |||
| text = chunk_json["response"] | |||
| if "<think>" in text: | |||
| is_reasoning_started = True | |||
| text = text.replace("<think>", "> 💭 ") | |||
| elif "</think>" in text: | |||
| is_reasoning_started = False | |||
| text = text.replace("</think>", "") + "\n\n" | |||
| elif is_reasoning_started: | |||
| text = text.replace("\n", "\n> ") | |||
| assistant_prompt_message = AssistantPromptMessage(content=text) | |||