Skip to content

高效准确地应用DeepSeek大模型进行字幕翻译

Notifications You must be signed in to change notification settings

Samueli924/UltraSubTranslation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎬 字幕翻译工具

这是一个基于DeepSeek API的字幕翻译工具,旨在将英文字幕翻译成中文。该工具支持上下文翻译,确保翻译的自然流畅和连贯性。

Note

本工具使用DeepSeek API,在使用前请确保你有有效的API密钥。
✨ 觉得有帮助的朋友可以给个Star

✨ 特性

  • 🔍 上下文翻译:考虑上下文信息,提供更准确的翻译
  • 🎯 专业领域支持:可以指定专业领域,使用相关术语
  • 并行处理:使用异步任务管理,支持并行发送翻译请求,提高效率

📊 性能对比

处理方式 100行 500行 1000行 备注
传统串行 ~200s ~1000s ~2000s 每条字幕约2s
10线程 ~40s ~150s ~300s 性能提升约5-6倍
15线程 ~25s ~80s ~160s 性能提升约10-12倍

Tip

对于大多数场景,建议使用10-15线程的配置以获得最佳性能。

🚀 性能优化建议

场景 建议配置 预期效果
短视频(<1000条字幕) 15线程 最佳性能平衡
长视频(>1000条字幕) <10线程 避免API限流
专业内容 指定domains + 15线程 准确度与性能平衡
实时翻译 10线程 稳定性优先

💡 项目优势

🎯 智能上下文处理

  • 每条字幕翻译时会考虑前后字幕的上下文
  • 保持对话的连贯性和自然流畅度

⚡ 高效的异步并行架构

  • 基于Python asyncio的异步任务处理
  • 支持最高15线程并发翻译
  • 智能任务队列管理,避免API限流
  • 非阻塞式任务提交和结果获取

📚 目录

🔧 安装

Important

在开始之前,请确保你的系统已安装Python 3.11或更高版本。

  1. 克隆该仓库:

    git clone https://github.com/Samueli924/UltraSub.git
    cd UltraSub
  2. 安装依赖:

    pip install -r requirements.txt
  3. 设置环境变量:

    [!CAUTION] 请妥善保管你的API密钥。

    export API_KEY='你的DeepSeek API Key'
    export ENDPOINT='https://api.deepseek.com'

🚀 使用方法

  1. 准备一个英文单轨SRT文件,确保文件格式正确。

  2. 使用命令行运行翻译工具:

    python translate_subtitle.py path/to/your/file.srt --domains 科技 医疗 XX

    [!TIP] --domains 参数是可选的,可以指定多个专业领域来提高特定领域的翻译质量。

  3. 翻译完成后,译文将保存在 output 目录下,文件名为 原文件名_zh.srt

🔍 功能说明

📦 主要模块

  • 🤖 src/llm.py:包含翻译模型的实现,负责与DeepSeek API进行交互
  • 📝 src/logging.py:配置全局日志记录,支持控制台和文件输出
  • 🔄 src/decorators.py:定义重试装饰器,用于处理API调用失败的情况
  • 🛠️ src/funcs.py:包含辅助函数,如读取SRT文件、格式化翻译提示等
  • src/tasks.py:实现任务管理器,支持并发任务处理
  • 🎮 translate_subtitle.py:主程序,负责处理命令行输入和调用翻译功能

👥 贡献

Note

欢迎任何形式的贡献!请提交问题、建议或拉取请求。

About

高效准确地应用DeepSeek大模型进行字幕翻译

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages