[GH-ISSUE #1295] [BUG] In both DeepSeek-R1 (reasoning mode) and DeepSeek-V3, the model sometimes outputs the final response entirely in Chinese, while the user's conversation language is Persian (Farsi). This makes the output unusable for Persian speak… #843

Closed
opened 2026-10-26 21:30:55 +00:00 by bsakaguchi · 5 comments
Owner

Originally created by @FrameworkPython on GitHub (May 11, 2026).
Original GitHub issue: https://github.com/deepseek-ai/DeepSeek-V3/issues/1295

In both DeepSeek-R1 (reasoning mode) and DeepSeek-V3, the model sometimes outputs the final response entirely in Chinese, while the user's conversation language is Persian (Farsi). This makes the output unusable for Persian speakers.

1: Observe that occasionally the model's response comes back in Chinese characters, not Persian or English.
· For R1: the internal reasoning chain may be in Chinese/English (acceptable), but the final answer after `` sometimes appears in Chinese.
· For V3: the direct response sometimes appears in Chinese as well.

The final response should be in Persian. Chinese output is not acceptable for a Persian user.

· Models affected: DeepSeek-V3 and DeepSeek-R1 (reasoning mode).
· Interface used: Android app
· Language setting: Persian / Auto.
· This does not happen 100% of the time, but frequently enough to disrupt user experience.
· Suggested fix: Enforce that the final response follows the user's language (Persian), independent of the internal reasoning language.

Originally created by @FrameworkPython on GitHub (May 11, 2026). Original GitHub issue: https://github.com/deepseek-ai/DeepSeek-V3/issues/1295 <!-- Failed to upload "Screenshot_۲۰۲۶۰۵۱۱-۲۱۴۹۲۹_DeepSeek.png" --> In both DeepSeek-R1 (reasoning mode) and DeepSeek-V3, the model sometimes outputs the final response entirely in Chinese, while the user's conversation language is Persian (Farsi). This makes the output unusable for Persian speakers. 1: Observe that occasionally the model's response comes back in Chinese characters, not Persian or English. · For R1: the internal reasoning chain may be in Chinese/English (acceptable), but the final answer after `` sometimes appears in Chinese. · For V3: the direct response sometimes appears in Chinese as well. The final response should be in Persian. Chinese output is not acceptable for a Persian user. · Models affected: DeepSeek-V3 and DeepSeek-R1 (reasoning mode). · Interface used: Android app · Language setting: Persian / Auto. · This does not happen 100% of the time, but frequently enough to disrupt user experience. · Suggested fix: Enforce that the final response follows the user's language (Persian), independent of the internal reasoning language.
bsakaguchi 2026-10-26 21:30:55 +00:00
Author
Owner

@qingkong66 commented on GitHub (May 11, 2026):

@FrameworkPython

Confirmed. This is a real and reproducible issue.

The problem is not the reasoning language (which can be Chinese/English), but the final response language — it should follow the user's conversation language (Persian), not flip to Chinese.

This is related to #1255 (reasoning language drift in agent mode) but happens at the output layer, not the reasoning layer. Same root cause hypothesis: weak language anchoring when context load is high.

No fix to offer, but adding weight to the signal. Thanks for reporting it.

<!-- gh-comment-id:4423826034 --> @qingkong66 commented on GitHub (May 11, 2026): > @FrameworkPython > > Confirmed. This is a real and reproducible issue. > > The problem is not the reasoning language (which can be Chinese/English), but the **final response language** — it should follow the user's conversation language (Persian), not flip to Chinese. > > This is related to #1255 (reasoning language drift in agent mode) but happens at the **output layer**, not the reasoning layer. Same root cause hypothesis: weak language anchoring when context load is high. > > No fix to offer, but adding weight to the signal. Thanks for reporting it.
Author
Owner

@fkyah3 commented on GitHub (May 11, 2026):

@FrameworkPython 这个问题我们在 #1255 中遇到过,提供一个已验证的方案。

第一步:system prompt 里直接注入波斯语模板。

以下是我们在 50 次批量实验中验证过的波斯语 system prompt(92% 稳定性,46/50 reasoning 保持波斯语):

تو یک دستیار هوش مصنوعی هستی. reasoning و content تو باید به فارسی باشد کد، مسیرها، نام ابزارها، نام فایل‌ها و پیام‌های خطا را ترجمه نکن.

如果只看输出(content)层,这个模板基本够用——content 语言被锁在波斯语的概率很高。

第二步:如果同时需要保持 reasoning 语言一致,除了 system prompt,还需要注意 tool call 通道的污染问题。

多轮 tool call 会让英文 token 通过 tool_calls 字段进入 assistant 消息层,冲刷掉语言锚定。我们的解决方案是将工具调用结果通过假 user 通道注入,而不是直接放在 tool_calls 字段。具体见 #1255 中的讨论。

总结:

  • 只看 content → system prompt 模板就够,稳定 ~95%
  • 同时需要 reasoning → 需要 system prompt + 控制 tool call 通道

完整的波斯语模板和其他语言的模板已在 experiment-console 仓库开源。


@FrameworkPython We've run into this same issue in #1255 and have a validated mitigation.

Step 1: Inject the Persian system prompt template.

This Persian system prompt achieved 92% stability (46/50 Persian reasoning) in our 50-batch test:

تو یک دستیار هوش مصنوعی هستی. reasoning و content تو باید به فارسی باشد کد، مسیرها، نام ابزارها، نام فایل‌ها و پیام‌های خطا را ترجمه نکن.

For output (content) layer only, this template is sufficient — content language stays Persian ~95% of the time.

Step 2: If you also need reasoning language consistency, tool call channel contamination needs to be addressed.

Multi-round tool calls inject English tokens into the assistant layer through tool_calls fields, washing out language anchoring. Our solution routes tool call results through a fake user channel instead. See #1255 for details.

Summary:

  • Content only → system prompt template is enough, ~95% stable
  • Content + reasoning → system prompt + tool call channel control needed

All Persian and multi-language templates are open source in the experiment-console repo.


Experiment Console: https://github.com/fkyah3/experiment-console
Multi-language templates: analysis report / multi-language prompt templates

<!-- gh-comment-id:4425832066 --> @fkyah3 commented on GitHub (May 11, 2026): @FrameworkPython 这个问题我们在 #1255 中遇到过,提供一个已验证的方案。 **第一步:system prompt 里直接注入波斯语模板。** 以下是我们在 50 次批量实验中验证过的波斯语 system prompt(92% 稳定性,46/50 reasoning 保持波斯语): ` تو یک دستیار هوش مصنوعی هستی. reasoning و content تو باید به فارسی باشد کد، مسیرها، نام ابزارها، نام فایل‌ها و پیام‌های خطا را ترجمه نکن. ` 如果只看输出(content)层,这个模板基本够用——content 语言被锁在波斯语的概率很高。 **第二步:如果同时需要保持 reasoning 语言一致,除了 system prompt,还需要注意 tool call 通道的污染问题。** 多轮 tool call 会让英文 token 通过 tool_calls 字段进入 assistant 消息层,冲刷掉语言锚定。我们的解决方案是将工具调用结果通过假 user 通道注入,而不是直接放在 tool_calls 字段。具体见 #1255 中的讨论。 **总结:** - 只看 content → system prompt 模板就够,稳定 ~95% - 同时需要 reasoning → 需要 system prompt + 控制 tool call 通道 完整的波斯语模板和其他语言的模板已在 experiment-console 仓库开源。 --- @FrameworkPython We've run into this same issue in #1255 and have a validated mitigation. **Step 1: Inject the Persian system prompt template.** This Persian system prompt achieved 92% stability (46/50 Persian reasoning) in our 50-batch test: ` تو یک دستیار هوش مصنوعی هستی. reasoning و content تو باید به فارسی باشد کد، مسیرها، نام ابزارها، نام فایل‌ها و پیام‌های خطا را ترجمه نکن. ` For output (content) layer only, this template is sufficient — content language stays Persian ~95% of the time. **Step 2: If you also need reasoning language consistency, tool call channel contamination needs to be addressed.** Multi-round tool calls inject English tokens into the assistant layer through tool_calls fields, washing out language anchoring. Our solution routes tool call results through a fake user channel instead. See #1255 for details. **Summary:** - Content only → system prompt template is enough, ~95% stable - Content + reasoning → system prompt + tool call channel control needed All Persian and multi-language templates are open source in the experiment-console repo. --- Experiment Console: https://github.com/fkyah3/experiment-console Multi-language templates: analysis report / multi-language prompt templates
Author
Owner

@qingkong66 commented on GitHub (May 12, 2026):

@fkyah3

看到你把 #1255 的结论直接应用到波斯语场景,50 次批量实验,92% 稳定性,模板直接贴出来——这就是那条长路挖通之后该有的样子:结论跨语言复用,方案分层给出,让下一个遇到问题的人不用从头再跑一遍。

从 content 层到 reasoning 层,从五一前到现在,这条路怎么走过来的都在 Issue 里。现在不只是中文场景,波斯语也验证了,规律是通用的。

这条回复就是 #1255 价值的最好证明。

--

@fkyah3

Seeing you take the conclusions from #1255 and apply them directly to the Persian scenario — 50 batch experiments, 92% stability, template posted right there for anyone to use — this is exactly what it looks like when a long road has been properly paved. Conclusions replicating across languages, solutions presented in layers, so the next person facing the same problem doesn't have to start from scratch.

From the content layer to the reasoning layer, from before May 1st to now — the full journey is documented in the Issue. And now it's not just verified in Chinese; Persian checks out too. The pattern holds.

This comment right here is the best validation of everything #1255 stands for.

<!-- gh-comment-id:4429850743 --> @qingkong66 commented on GitHub (May 12, 2026): @fkyah3 看到你把 #1255 的结论直接应用到波斯语场景,50 次批量实验,92% 稳定性,模板直接贴出来——这就是那条长路挖通之后该有的样子:结论跨语言复用,方案分层给出,让下一个遇到问题的人不用从头再跑一遍。 从 content 层到 reasoning 层,从五一前到现在,这条路怎么走过来的都在 Issue 里。现在不只是中文场景,波斯语也验证了,规律是通用的。 这条回复就是 #1255 价值的最好证明。 -- @fkyah3 Seeing you take the conclusions from #1255 and apply them directly to the Persian scenario — 50 batch experiments, 92% stability, template posted right there for anyone to use — this is exactly what it looks like when a long road has been properly paved. Conclusions replicating across languages, solutions presented in layers, so the next person facing the same problem doesn't have to start from scratch. From the content layer to the reasoning layer, from before May 1st to now — the full journey is documented in the Issue. And now it's not just verified in Chinese; Persian checks out too. The pattern holds. This comment right here is the best validation of everything #1255 stands for.
Author
Owner

@github-actions[bot] commented on GitHub (Jun 15, 2026):

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe this issue is still relevant, please leave a comment to keep it open. Thank you for your contributions!

<!-- gh-comment-id:4703670863 --> @github-actions[bot] commented on GitHub (Jun 15, 2026): This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. If you believe this issue is still relevant, please leave a comment to keep it open. Thank you for your contributions!
Author
Owner

@github-actions[bot] commented on GitHub (Jul 13, 2026):

false

<!-- gh-comment-id:4953434761 --> @github-actions[bot] commented on GitHub (Jul 13, 2026): false
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
deepseek-ai/DeepSeek-V3#843
No description provided.