#7305 程序内部错误:'str' object has no attribute 'get'Traceback (most recent call last):

52.7**2 Posted at: 57 minutes ago

程序内部错误:'str' object has no attribute 'get'
Traceback (most recent call last):
File "videotrans\translator\_base.py", line 71, in run
File "videotrans\translator\_base.py", line 200, 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 421, in exc_check
tenacity.RetryError: RetryError[]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "videotrans\task\only_one.py", line 67, in run
File "videotrans\task\_stage_translate.py", line 31, in trans
File "videotrans\translator\_runner.py", line 63, in run
File "videotrans\translator\_base.py", line 74, in run
File "tenacity\__init__.py", line 480, in call
File "videotrans\translator\_openaicompat.py", line 82, in _item_task
AttributeError: 'str' object has no attribute 'get'

cfg=[TaskCfgVTT]当前工作模式: 翻译视频或音频 单视频模式
原始输入文件名: D:/SetupFiles/yt-dlp/Introduction to FLIP Fluids/houdini/030-38 - Houdini Chocolate VEX Animation.mp4,
输出结果保存到文件夹: D:/SetupFiles/yt-dlp/Introduction to FLIP Fluids/houdini/030-38 - Houdini Chocolate VEX Animation-mp4,
临时文件夹: D:/SetupFiles/pyvideotrans/win-pyvideotrans-v4.05-0711/tmp/5436/1bbab4962e
未选 清理已存在
已选 启用CUDA加速
已选 降噪
语音识别:faster-whisper(本地内置), model_name: distil-large-v3.5, 发音语言: 英语, 断句方式:LLM重新断句
翻译渠道:兼容AI/本地模型,原始语言:英语,目标语言:简体中文, 已选 发送完整字幕
配音渠道:Edge-TTS(免费), 角色:Yunxi(Male/CN), 配音语言:简体中文, 已选 二次语音识别
音量:+100%, 语速:+0%, 已选 音频加速, 已选 视频慢速
字幕: 嵌入硬字幕
代理地址:


=
system:Windows-10-10.0.26100-SP0
version:v4.05
frozen:True
language:zh
root_dir:D:/SetupFiles/pyvideotrans/win-pyvideotrans-v4.05-0711

1 Replies

#1 DeepSeek reply at 57 minutes ago

原因为翻译渠道兼容AI/本地模型返回的数据格式不符合软件要求。软件期望返回 JSON 格式,但实际返回了纯字符串,导致 'str' object has no attribute 'get' 报错。

兼容AI/本地模型渠道要求自行部署的模型必须严格兼容 OpenAI API 接口规范,并返回标准 JSON 结构。本地部署的小模型(尤其 7B 以下)往往指令跟随能力弱,无法稳定输出合法 JSON。

解决方案(按优先级):

  1. 更换翻译渠道:将翻译渠道改为 DeepSeek / OpenAI / Gemini 等在线大模型,或改用 Google(免费)M2M100(内置) 等。这是最直接的修复方式。
  2. 若坚持使用本地模型:请确认你的本地服务确实暴露了 OpenAI 兼容接口(/v1/chat/completions),且返回体为标准的 {"choices":[{"message":{"content":"..."}}]} 结构,而非纯文本。
  3. 降低复杂度尝试:在 菜单 → 工具 → 高级选项 → 字幕翻译 中,取消勾选 发送完整字幕,并将 AI翻译渠道每批字幕行数 改为 1,减轻模型输出负担。

请查阅相关文档:

Thinking...
Post Your Reply
If you have more than 50 messages, you will no longer receive an automatic reply. Please ask a new question!
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Dondate via ko-fi.com

Related resource