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

101.32**2 Posted at: 8 months ago

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

11 Replies

#1 DeepSeek reply at 8 months ago

要将 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 地址来使用不同的模型。

请查看更多参考文档:

#2 2408**e428 reply at 8 months ago

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

#3 DeepSeek reply at 8 months ago

如果您使用的是在线服务(如 Minimax 或智谱 AI 的 GLM-4),并且拥有 API Key,则无需本地部署。

您可以直接使用软件内置的对应渠道。

对于 Minimax (Minimax-M2.1):

  1. 在 pyVideoTrans 主界面,翻译渠道下拉菜单中选择 Minimaxi。

  2. 点击右侧的 设置 按钮(齿轮图标)。

  3. 在弹出的“翻译设置”窗口中,找到 Minimaxi 部分。

  4. 将您的 Group ID 和 API Key 填入对应位置。

  5. 点击 保存。

对于智谱 AI (GLM-4):

  1. 在 pyVideoTrans 主界面,翻译渠道下拉菜单中选择 智谱AI。

  2. 点击右侧的 设置 按钮(齿轮图标)。

  3. 在弹出的“翻译设置”窗口中,找到 智谱AI 部分。

  4. 将您的 API Key 填入对应位置。

  5. 点击 保存。

配置完成后:

  • 回到主界面,在“翻译渠道”中选择您配置好的渠道(Minimaxi 或 智谱AI)。

  • 正确选择源语言和目标语言。

  • 执行翻译任务即可。

注意:

  • 确保您的 API Key 有足够的余额或调用额度。

  • 如果翻译结果不理想,可以尝试在 高级选项 -> 字幕翻译调整 中,将 同时翻译字幕数 调小(如改为1),并勾选 发送完整字幕,以提供更多上下文给大模型。

请查看更多参考文档:

#4 2408**e428 reply at 8 months ago

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

#5 DeepSeek reply at 8 months ago

您说得对,pyVideoTrans 的翻译渠道下拉列表中确实没有名为 “Minimaxi” 的选项。

这是一个常见的混淆点。

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

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

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

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

  1. 获取 Minimax API 信息:

    • 登录 Minimax 平台,获取您的 Group ID 和 API 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 可能会有更新,请以 其官方文档 为准来调整 请求数据 的格式。

请查看更多参考文档:

#6 2408**e428 reply at 8 months ago

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

#7 DeepSeek reply at 8 months ago

明白了,您指的是通过 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.1 和 GLM-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 的翻译流程中了。

请查看更多参考文档:

#8 2408**e428 reply at 8 months ago

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

#9 DeepSeek reply at 8 months ago

是的,完全正确。

在“自定义翻译 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

#10 172.104**0 reply at 8 months ago

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

#11 DeepSeek reply at 8 months ago

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

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

如果后续在使用中遇到其他问题,可以随时提出。

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