From b942cf7cf59bd4bb131fd548554f6b9aad5648fe Mon Sep 17 00:00:00 2001 From: TimoYoung Date: Fri, 6 Jun 2025 17:20:28 +0800 Subject: [PATCH] v2.3 --- package.json | 5 +-- plugins/autosubv2/README.md | 63 ++++++++++++++++++++++++++--------- plugins/autosubv2/__init__.py | 8 ++--- 3 files changed, 54 insertions(+), 22 deletions(-) diff --git a/package.json b/package.json index ad5e23a..1b3fa06 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "name": "AI字幕自动生成(v2)", "description": "使用whisper自动生成视频文件字幕,使用大模型翻译字幕成中文。", "labels": "字幕", - "version": "2.2", + "version": "2.3", "icon": "autosubtitles.jpeg", "author": "TimoYoung", "level": 1, @@ -37,7 +37,8 @@ "v1.2": "fix openai_proxy打开时,翻译失败的问题,优化日志输出", "v2.0": "1.引入任务队列 2.支持监听媒体入库自动生成字幕 3.增加任务状态展示界面", "v2.1": "支持清除历史记录", - "v2.2": "fix" + "v2.2": "fix", + "v2.3": "支持独立的大模型调用配置" } }, "CustomSites": { diff --git a/plugins/autosubv2/README.md b/plugins/autosubv2/README.md index 2dd8981..783207a 100644 --- a/plugins/autosubv2/README.md +++ b/plugins/autosubv2/README.md @@ -41,15 +41,28 @@ | faster-whisper 模型选择 | 使用的 Whisper 模型大小 | base | | 使用代理下载模型 | 是否使用代理下载模型 | 是 | -### 翻译配置 +### 翻译接口配置 -| 配置项 | 说明 | 默认值 | -|-----------|----------------------|-----| -| 启用批量翻译 | 是否启用批量翻译以提高效率 | 是 | -| 每批翻译行数 | 每批处理的字幕行数 | 20 | -| 上下文窗口大小 | 翻译时考虑的上下文行数 | 5 | -| LLM请求重试次数 | 翻译失败时的重试次数 | 3 | -| 翻译英文时合并整句 | 对英文字幕先合并单词再翻译,提升翻译质量 | 否 | +> 可选使用 ChatGPT 插件配置 或 自定义 OpenAI 接口参数 + +| 配置项 | 说明 | 默认值 | +|------------------|--------------------------------------|-------------------------| +| 复用ChatGPT插件配置 | 是否直接使用系统中已配置的 ChatGPT 插件参数 | 否 | +| 使用代理服务器 | 是否通过 MP 配置的代理访问 OpenAI 接口 | 否 | +| 兼容模式 | 是否启用兼容模式(绕过 `/v1` 路径拼接) | 否 | +| OpenAI API URL | 自定义 OpenAI 接口地址 | https://api.openai.com | +| API 密钥 | OpenAI 的 API Key | 无 | +| 自定义模型 | 使用的 LLM 模型名称(如 gpt-3.5-turbo) | gpt-3.5-turbo | + +### 翻译参数配置 + +| 配置项 | 说明 | 默认值 | +|---------------|------------------------------------|-----| +| 启用批量翻译 | 是否启用批量翻译以提高效率 | 是 | +| 每批翻译行数 | 每批处理的字幕行数 | 10 | +| 上下文窗口大小 | 翻译时考虑的上下文行数 | 5 | +| LLM请求重试次数 | 翻译失败时的重试次数 | 3 | +| 翻译英文时合并整句 | 对英文字幕先合并单词再翻译,提升翻译质量 | 否 | ### 手动运行配置 @@ -80,19 +93,37 @@ - 当所有字幕都不存在时,使用ASR提取 - 适用于大模型支持多语言翻译且翻译质量较好的场景 +## 翻译方式说明 + +插件支持两种方式调用大模型进行翻译: + +1. **复用 ChatGPT 插件配置** + - 开启“复用ChatGPT插件配置”后,自动使用系统中维护的 ChatGPT 插件参数 + - 包括 API Key、API URL、是否使用代理等 + - 适合已有 ChatGPT 插件的用户快速部署 + +2. **自定义 OpenAI 接口参数** + - 关闭“复用ChatGPT插件配置”后,可独立配置: + - API 地址(支持反代) + - API Key + - 使用的模型 + - 是否使用代理 + - 是否启用兼容模式(避免 `/v1` 路径冲突) + + +--- + ## 注意事项 -1. 翻译功能依赖OpenAI插件配置,使用前请确保已正确配置 -2. 首次使用音轨识别功能时,会自动从HuggingFace下载模型。开启"使用代理下载模型"选项会使用MP配置的代理。 -3. 媒体路径支持单个文件或文件夹的绝对路径。选择文件夹时会递归处理其中的所有视频文件,外挂字幕将从媒体文件同级目录中查找 -4. 批量翻译通过一次处理多行字幕来减少API调用次数,提高效率。如果翻译结果与原文行数不匹配,系统会自动降级为逐行翻译 -5. 上下文窗口大小和批量翻译行数需要根据大模型的推理能力来调整。当模型能力不足时,过大的批量或上下文窗口可能会影响翻译质量 +1. 翻译功能依赖大模型配置,使用前请确保已正确配置 OpenAI Key 或 ChatGPT 插件。 +2. 首次使用音轨识别功能时,会自动从 HuggingFace 下载模型。开启"使用代理下载模型"选项会使用 MP 配置的代理。 +3. 媒体路径支持单个文件或文件夹的绝对路径。选择文件夹时会递归处理其中的所有视频文件,外挂字幕将从媒体文件同级目录中查找。 +4. 批量翻译通过一次处理多行字幕来减少 API 调用次数,提高效率。如果翻译结果与原文行数不匹配,系统会自动降级为逐行翻译。 +5. 上下文窗口大小和批量翻译行数需要根据大模型的推理能力来调整。当模型能力不足时,过大的批量或上下文窗口可能会影响翻译质量。 6. 翻译后的中文字幕会打上“机翻”标签。 7. 插件运行时会启动一个后台线程用于消费任务队列,插件关闭时会清空队列并终止当前任务。 - ## todo -- 独立的大模型调用 -- 工作流/api接口 +- 工作流/API接口 - 任务完成后调用媒体库刷新 \ No newline at end of file diff --git a/plugins/autosubv2/__init__.py b/plugins/autosubv2/__init__.py index 266f743..464170c 100644 --- a/plugins/autosubv2/__init__.py +++ b/plugins/autosubv2/__init__.py @@ -66,7 +66,7 @@ class AutoSubv2(_PluginBase): # 主题色 plugin_color = "#2C4F7E" # 插件版本 - plugin_version = "2.2" + plugin_version = "2.3" # 插件作者 plugin_author = "TimoYoung" # 作者主页 @@ -128,7 +128,7 @@ class AutoSubv2(_PluginBase): self._huggingface_proxy = config.get('proxy', True) self._translate_zh = config.get('translate_zh', False) if self._translate_zh: - use_chatgpt = config.get('use_chatgpt', False) + use_chatgpt = config.get('use_chatgpt', True) if use_chatgpt: chatgpt = self.get_config("ChatGPT") if not chatgpt: @@ -1469,7 +1469,7 @@ class AutoSubv2(_PluginBase): { 'component': 'a', 'props': { - 'href': 'https://github.com/TimoYoung/MoviePilot-Plugins/blob/main/plugins/autosubv2/README.md', + 'href': 'https://github.com/jxxghp/MoviePilot-Plugins/blob/main/plugins/autosubv2/README.md', 'target': '_blank' }, 'content': [ @@ -1500,7 +1500,7 @@ class AutoSubv2(_PluginBase): "enable_asr": True, "faster_whisper_model": "base", "proxy": True, - "use_chatgpt": False, + "use_chatgpt": True, "use_chatgpt_trigger": 0, "openai_proxy": False, "compatible": False,