0.2.1 • Published 8 months ago

@re-ai/subtitle_translation v0.2.1

Weekly downloads
-
License
MIT
Repository
github
Last release
8 months ago

@re-ai/subtitle_translation

AI字幕翻译工具包,支持SRT字幕解析、AI大模型批量翻译、断点续传、双语/单语输出、任务管理等。

功能特性

  • 支持SRT字幕文件解析,自动识别格式
  • 基于OpenAI等大模型API进行高质量字幕翻译
  • 支持批量翻译、断点续传、任务进度查询
  • 支持双语/单语字幕输出,边翻译边写入文件
  • 日志分级、彩色输出,便于调试
  • 任务可清理,输出文件自动删除

安装

npm install @re-ai/subtitle_translation

环境变量

  • OPENAI_API_KEYREAI_SUBTITLE_TRANS_OPENAI_API_KEY:OpenAI API Key
  • OPENAI_BASE_URLREAI_SUBTITLE_TRANS_OPENAI_BASE_URL:OpenAI API Base URL(如用代理)
  • REAI_SUBTITLE_TRANS_LOG_LEVEL:日志等级(debug/info/warn/error)
  • 其他可选:REAI_SUBTITLE_TRANS_OPENAI_MODELREAI_SUBTITLE_TRANS_OPENAI_TEMPERATUREREAI_SUBTITLE_TRANS_OPENAI_TOP_PREAI_SUBTITLE_TRANS_OPENAI_SYSTEM_PROMPT

快速使用

import { ReAISubtitleTranslator } from '@re-ai/subtitle_translation';

const translator = new ReAISubtitleTranslator({
  defaultBatchSize: 50,
  defaultBilingual: true,
  aiLLMConfig: {
    apiKey: process.env.OPENAI_API_KEY,
    model: 'gpt-3.5-turbo',
    systemPrompt: '',
    // ...其他参数
  }
});

// 创建翻译任务
const { taskId } = translator.createTranslateTask({
  filePath: './example.srt',
  to: 'zh',
  outputFile: './example.zh.srt',
  bilingual: true, // 输出双语
  batchSize: 30,   // 每批30条
  introduction: '' // 影片介绍
});

// 执行翻译
await translator.executeTranslateTask(taskId);

// 查询进度
const progress = translator.getTranslateTaskProgress(taskId);
console.log(progress);

// 清理任务(会自动删除输出文件)
translator.clearTask(taskId);

API 说明

Translator

  • constructor(options):初始化,支持默认批量大小、双语、AI参数
  • createTranslateTask({ filePath, to, outputFile?, bilingual?, batchSize? }):创建翻译任务
  • executeTranslateTask(taskId):执行翻译任务,自动分批、断点续传、边翻译边写入
  • getTranslateTaskProgress(taskId):查询任务进度
  • clearTask(taskId):清理任务及输出文件

AITranslator

  • 支持自定义大模型API参数,结构化输出

测试

npm run test

License

MIT

0.2.1

8 months ago

0.2.0

8 months ago

0.1.4

8 months ago

0.1.3

8 months ago

0.1.2

8 months ago

0.1.1

8 months ago

0.1.0

8 months ago