#2829 如何把NVIDIA的minimax-m2.1 和GLM-4.7加到翻译字幕中

101.32* Posted at: 4 days ago 👁38

如何把NVIDIA的minimax-m2.1 和GLM-4.7加到翻译字幕中

11 Replies

要将 NVIDIA 的 Minimax-M2.1 和 GLM-4.7 模型添加到 pyVideoTrans 的翻译字幕功能中,您需要使用“自定义翻译 API”功能。这需要您本地部署这些模型的服务,并提供一个符合软件规范的 API 接口。

以下是详细步骤:

第一步:本地部署模型 API

您需要在本地或服务器上部署 Minimax-M2.1 和 GLM-4.7 模型,并提供一个 HTTP POST 接口。该接口应接收 JSON 格式的请求,并返回 JSON 格式的翻译结果。

请求示例 (软件发送给您的API):

{
  "text": "Hello world\nThis is a test",
  "source_language": "en",
  "target_language": "zh"
}
  • text: 需要翻译的文本,多行用 \n 分隔。
  • source_language: 源语言代码 (如 en)。
  • target_language: 目标语言代码 (如 zh)。

响应示例 (您的API返回给软件):

{
  "code": 0,
  "text": "你好世界\n这是一个测试"
}
  • code: 必须为 0 表示成功,非 0 表示失败。
  • text: 翻译后的文本,行数需与请求中的 text 行数一致。

第二步:在 pyVideoTrans 中配置

  1. 启动 pyVideoTrans,在主界面翻译设置的下拉菜单中,选择 自定义翻译api
  2. 点击右侧的 设置 按钮(齿轮图标)。
  3. 在弹出的设置窗口中,找到“自定义翻译”区域。
  4. 填写API地址: 输入您部署的模型服务的完整 URL,例如 http://127.0.0.1:8000/translate
  5. (可选)填写请求头: 如果您的 API 需要认证(如 API Key),可以在此处填写。格式为 JSON,例如:{"Authorization": "Bearer your-api-key-here"}
  6. 点击 保存

第三步:使用翻译

配置完成后,回到主界面:

  1. 在“翻译渠道”下拉菜单中,选择您刚配置好的 自定义翻译api
  2. 正常选择源语言和目标语言。
  3. 执行翻译任务即可。

重要提示

  • 模型部署: 您需要自行解决 Minimax-M2.1 和 GLM-4.7 的本地部署问题,这通常涉及使用 vLLM, TGI, Ollama 或相关框架。pyVideoTrans 本身不提供这些模型的部署功能。
  • 性能与稳定性: 翻译速度和质量取决于您本地部署的模型性能及服务器配置。
  • 多模型切换: 如果您部署了两个不同的服务端(分别对应 Minimax 和 GLM),您需要在 pyVideoTrans 的“自定义翻译”设置中切换不同的 API 地址来使用不同的模型。

请查看更多参考文档:

是在线的有密钥,不是本地的

如果您使用的是在线服务(如 Minimax 或智谱 AI 的 GLM-4),并且拥有 API Key,则无需本地部署。您可以直接使用软件内置的对应渠道。

对于 Minimax (Minimax-M2.1):

  1. 在 pyVideoTrans 主界面,翻译渠道下拉菜单中选择 Minimaxi
  2. 点击右侧的 设置 按钮(齿轮图标)。
  3. 在弹出的“翻译设置”窗口中,找到 Minimaxi 部分。
  4. 将您的 Group IDAPI Key 填入对应位置。
  5. 点击 保存

对于智谱 AI (GLM-4):

  1. 在 pyVideoTrans 主界面,翻译渠道下拉菜单中选择 智谱AI
  2. 点击右侧的 设置 按钮(齿轮图标)。
  3. 在弹出的“翻译设置”窗口中,找到 智谱AI 部分。
  4. 将您的 API Key 填入对应位置。
  5. 点击 保存

配置完成后:

  • 回到主界面,在“翻译渠道”中选择您配置好的渠道(Minimaxi 或 智谱AI)。
  • 正确选择源语言和目标语言。
  • 执行翻译任务即可。

注意:

  • 确保您的 API Key 有足够的余额或调用额度。
  • 如果翻译结果不理想,可以尝试在 高级选项 -> 字幕翻译调整 中,将 同时翻译字幕数 调小(如改为1),并勾选 发送完整字幕,以提供更多上下文给大模型。

请查看更多参考文档:

翻译渠道下拉菜单中选择没有 Minimaxi

您说得对,pyVideoTrans 的翻译渠道下拉列表中确实没有名为 “Minimaxi” 的选项。这是一个常见的混淆点。

Minimax 的翻译功能是通过 “自定义翻译 API”“兼容AI/本地模型翻译” 这两个通用渠道来接入的。

以下是接入 Minimax 在线 API 的两种方法:

方法一:使用“自定义翻译 API”(推荐,更灵活)

此方法需要您根据 Minimax 的官方 API 文档,手动构造一个符合软件规范的请求。

  1. 获取 Minimax API 信息

    • 登录 Minimax 平台,获取您的 Group IDAPI Key
    • 查阅其 文本生成 API 文档,了解请求格式。
  2. 在 pyVideoTrans 中配置

    • 在主界面“翻译渠道”下拉菜单中,选择 自定义翻译api
    • 点击右侧的 设置 按钮。
    • 在弹出窗口的“自定义翻译”区域,填写:

      • API地址https://api.minimax.chat/v1/text/chatcompletion_v2
      • 请求头:需要以 JSON 格式填写认证信息。例如:

        {
          "Authorization": "Bearer 您的-API-Key-here",
          "Content-Type": "application/json"
        }

        注意:根据 Minimax 最新文档,可能需要将 Group ID 放在请求体(body)中,而非请求头。如果上述方式失败,请尝试下一步的“请求数据”配置。

    • 请求数据(关键步骤):这是向 Minimax API 发送的指令主体。您需要根据其文档构造一个 JSON。以下是一个参考模板,您需要将其中的 {{GROUP_ID}}{{PROMPT}} 替换:

      {
        "model": "abab6.5s-chat",
        "messages": [
          {
            "role": "user",
            "content": "请将以下内容从{{source_language}}翻译到{{target_language}},只返回翻译结果,不要添加任何解释:\n{{text}}"
          }
        ],
        "bot_setting": [
          {
            "bot_name": "翻译助手",
            "content": "你是一名专业的翻译官。"
          }
        ],
        "reply_constraints": { "sender_type": "BOT", "sender_name": "翻译助手" },
        "stream": false,
        "group_id": "{{GROUP_ID}}"
      }
      • 替换 {{GROUP_ID}}:填入您实际的 Group ID。
      • 软件会自动替换的变量

        • {{source_language}}:源语言名称(如“英语”)。
        • {{target_language}}:目标语言名称(如“中文”)。
        • {{text}}:需要翻译的多行文本。
    • 响应数据:填写用于从 Minimax 的返回结果中提取翻译文本的 JSONPath。例如,如果返回格式是 {“reply”: “翻译文本”},则此处填写 reply。您可能需要根据 API 实际返回结构进行调整。

方法二:使用“兼容AI/本地模型翻译”(更简单,但可能需调整)

此方法使用软件预置的通用大模型模板。

  1. 在主界面“翻译渠道”下拉菜单中,选择 兼容AI/本地模型翻译
  2. 点击右侧的 设置 按钮。
  3. 在“AI/本地模型翻译”设置中:

    • API地址:填写 https://api.minimax.chat/v1/text/chatcompletion_v2
    • 模型名:填写您想用的模型,如 abab6.5s-chat
    • API KEY:填入您的 API Key。
    • 额外参数:以 JSON 格式填写 Group ID 等必要参数。例如:

      {"group_id": "您的-Group-ID-here"}
  4. 保存后,软件会使用内置的通用提示词模板向该地址发送请求。

重要提示

  • 首选方法一,因为它让您能完全控制发送给 Minimax 的指令(请求数据),这对于获得纯净的翻译结果至关重要。
  • 测试是关键:配置完成后,务必使用主界面右下角的 测试 按钮来验证连接和翻译效果。
  • 查阅官方文档:Minimax 的 API 可能会有更新,请以 其官方文档 为准来调整 请求数据 的格式。

请查看更多参考文档:

是在NVIDIA账号里的Minimax-M2.1 和 GLM-4.7 模型

明白了,您指的是通过 NVIDIA NIM API 来调用部署在 NVIDIA 云端的 Minimax-M2.1 和 GLM-4.7 模型。

这仍然需要使用 pyVideoTrans 的 “自定义翻译 API” 功能,但配置的 API 地址和参数是 NVIDIA NIM 的格式。

以下是配置步骤:

第一步:获取 NVIDIA NIM API 信息

  1. 登录您的 NVIDIA NGC 账户
  2. 进入 NIM 模型目录,找到并部署 Minimax-M2.1GLM-4.7 模型。
  3. 获取每个模型部署后的 API 端点(Endpoint)API 密钥。这通常是一个以 https://integrate.api.nvidia.com/v1/ 开头的 URL。

第二步:在 pyVideoTrans 中配置(以 Minimax-M2.1 为例)

  1. 在主界面“翻译渠道”下拉菜单中,选择 自定义翻译api
  2. 点击右侧的 设置 按钮。
  3. 在弹出窗口的“自定义翻译”区域,填写:

    • API地址:填入您从 NVIDIA NIM 获取的 Minimax-M2.1 模型的 聊天补全(Chat Completion)端点。例如:https://integrate.api.nvidia.com/v1/chat/completions
    • 请求头:以 JSON 格式填写认证信息。这是关键

      {
        "Authorization": "Bearer 您的-NVIDIA-NIM-API-KEY",
        "Content-Type": "application/json"
      }
    • 请求数据:这是发送给 NVIDIA NIM 的指令主体。您需要根据其文档构造一个 JSON。以下是一个参考模板:

      {
        "model": "minimax-m2.1",
        "messages": [
          {
            "role": "user",
            "content": "请将以下内容从{{source_language}}翻译到{{target_language}},严格只返回翻译结果,不要添加任何解释、序号、引号或额外文本:\n{{text}}"
          }
        ],
        "temperature": 0.1,
        "top_p": 0.7,
        "max_tokens": 1024,
        "stream": false
      }

      注意"model" 字段的值 必须 与您在 NVIDIA NIM 中部署的模型标识符 完全一致minimax-m2.1 仅为示例,请替换为实际值。

    • 响应数据:填写用于从 NVIDIA NIM 的返回结果中提取翻译文本的 JSONPath

      • NVIDIA NIM 的标准返回格式通常是 {"choices":[{"message":{"content":"翻译文本"}}]}
      • 因此,此处应填写:choices[0].message.content

第三步:测试与使用

  1. 点击 保存
  2. 回到主界面,确保“翻译渠道”已选中 自定义翻译api
  3. 强烈建议使用主界面右下角的 测试 按钮,输入一段文字进行翻译测试,以验证配置是否正确。
  4. 测试成功后,即可正常使用。

为 GLM-4.7 创建另一个配置

由于您有两个模型,而“自定义翻译 API”一次只能配置一个地址,您有两个选择:

  • 分别配置并切换使用:当需要使用 GLM-4.7 时,重复上述步骤,在“请求数据”中将 "model" 字段改为 "glm-4.7"(或 NVIDIA NIM 中该模型的实际标识符),并确保 API 地址和密钥正确。
  • 使用一个通用端点:如果 NVIDIA NIM 提供了一个通用的聊天端点,您可以在“请求数据”中通过修改 "model" 字段的值来动态切换模型,而无需更改 API 地址。

重要提示

  • 严格遵循指令:在“请求数据”的 "content" 中,必须使用强指令(如“严格只返回翻译结果”),以防止大模型输出多余内容导致软件解析失败。
  • 查阅官方文档:配置时请务必参考 NVIDIA NIM API 文档,确认端点 URL、请求/响应格式的最新要求。
  • 费用:使用 NVIDIA NIM API 会产生费用,请注意您的账户余额和调用成本。

通过以上步骤,您就可以将 NVIDIA 云端的强大模型集成到 pyVideoTrans 的翻译流程中了。

请查看更多参考文档:

以 JSON 格式填写认证信息在自定义翻译API下面的框里写?

是的,完全正确。

在“自定义翻译 API”的设置窗口中,“请求头”“请求数据” 这两个输入框,都需要您以 纯 JSON 格式 进行填写。

具体位置和填写方法如下:

  1. 打开“自定义翻译 API”设置窗口。
  2. 您会看到类似下图的几个输入区域:

    • API地址:填写 NVIDIA NIM 的端点 URL。
    • 请求头在这里填写认证信息的 JSON
    • 请求数据在这里填写调用模型指令的 JSON
    • 响应数据:填写提取翻译结果的 JSONPath。

“请求头”框内应填写的内容示例:

{
  "Authorization": "Bearer nvapi-xxxxxx-Your-NVIDIA-API-Key-xxxxxx",
  "Content-Type": "application/json"
}

(请将 nvapi-xxxxxx-Your-NVIDIA-API-Key-xxxxxx 替换为您真实的 NVIDIA API Key)

“请求数据”框内应填写的内容示例:

{
  "model": "minimax-m2.1",
  "messages": [
    {
      "role": "user",
      "content": "请将以下内容从{{source_language}}翻译到{{target_language}},严格只返回翻译结果,不要添加任何解释、序号、引号或额外文本:\n{{text}}"
    }
  ],
  "temperature": 0.1,
  "stream": false
}

重要提示:

  • 格式必须正确:JSON 要求使用双引号 ",并且不能有尾随逗号。填写后,您可以点击输入框下方的 “测试” 按钮,软件会尝试解析 JSON,如果格式错误会提示。
  • 变量不要修改{{source_language}}{{target_language}}{{text}} 是软件会自动替换的占位符,务必保留原样,不要修改或删除它们。
  • 先测试:配置完成后,务必先使用主界面右下角的 “测试” 功能,输入一段文字看是否能返回正确的翻译结果,这是验证配置是否成功的唯一可靠方法。

请查看更多参考文档:
自定义翻译api

上面乱说一通,我已经解决了 image

很高兴您已经自己解决了问题!看来您已经成功配置了自定义翻译 API 来调用 NVIDIA NIM 中的模型。

如果您愿意分享您的成功配置(例如具体的 API 地址、请求头和请求数据格式),可以帮助其他遇到类似问题的用户。如果后续在使用中遇到其他问题,可以随时提出。

Post Your Reply
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.

Related resource