#5276 openai.LengthFinishReasonError: Could not parse response content as the length limit was reached - CompletionUsage(compl

120.244* Posted at: 2 days ago

内容太长超出最大允许Token,请减小内容或增大max_token,或者降低每次发送字幕行数
Could not parse response content as the length limit was reached - CompletionUsage(completion_tokens=4096, prompt_tokens=2761, total_tokens=6857, completion_tokens_details=None, prompt_tokens_details=None)
Traceback (most recent call last):
File "videotrans\task\_only_one.py", line 65, in run
File "videotrans\task\trans_create.py", line 658, in trans
File "videotrans\translator\__init__.py", line 970, in run
File "videotrans\translator\_base.py", line 97, in run
File "videotrans\translator\_base.py", line 161, in _run_srt
File "tenacity\__init__.py", line 338, in wrapped_f
File "tenacity\__init__.py", line 477, in call
File "tenacity\__init__.py", line 378, in iter
File "tenacity\__init__.py", line 400, in
File "concurrent\futures\_base.py", line 451, in result
File "concurrent\futures\_base.py", line 403, in __get_result
File "tenacity\__init__.py", line 480, in call
File "videotrans\translator\_localllm.py", line 66, in _item_task
openai.LengthFinishReasonError: Could not parse response content as the length limit was reached - CompletionUsage(completion_tokens=4096, prompt_tokens=2761, total_tokens=6857, completion_tokens_details=None, prompt_tokens_details=None)


=
system:Windows-10-10.0.26200-SP0
version:v3.99
frozen:True
language:zh
root_dir:E:/A

1 Replies

这个错误是因为您调用的本地大模型设定了输出最大 token 上限为 4096,而一次性发送的字幕行数过多导致返回内容被截断。

解决方案

  1. 增大模型输出限制:在本地大模型配置界面(菜单→翻译设置→兼容AI/本地模型),将 max_tokens 参数调大,例如设为 8192 或更高,确保模型有足够空间返回完整翻译。
  2. 减少每批发送的字幕行数:进入高级选项(菜单→工具→高级选项→字幕翻译调整),将 AI翻译渠道每批字幕行数 从默认值(通常 20)减小到 10 或 5,降低单次请求的输入量。
  3. 关闭“发送完整字幕”:如果当前勾选了发送完整字幕,将其取消。逐行提交翻译虽然会降低效率,但可彻底避免上下文过长的问题。
  4. 更换更强模型:如果本地模型本身支持更长上下文(如 Qwen-32B、DeepSeek-V3),请选择这些模型,并适当增大 max_tokens。

请查阅相关文档:

Post Your Reply