news 2026/9/15 18:45:26

LunaTranslator 大模型翻译接口实战指南:通用接口参数、多密钥轮询与 SakuraLLM 离线翻译模型

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LunaTranslator 大模型翻译接口实战指南:通用接口参数、多密钥轮询与 SakuraLLM 离线翻译模型

LunaTranslator 大模型翻译接口实战指南:通用接口参数、多密钥轮询与 SakuraLLM 离线翻译模型

【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator

大模型翻译接口是 LunaTranslator 中最灵活、最强大的翻译引擎之一:它既能以通用接口的形式接入 OpenAI、Gemini、Claude、DeepSeek、通义千问等几十家云端大模型平台,也能以专用接口的形式驱动 SakuraLLM、GalTransl、Hy-MT2 等针对视觉小说/轻小说场景微调的离线翻译模型。本文以官方文档为主线,结合仓库源码,完整讲解通用接口的每个配置参数、常见平台的接入要点、多密钥与多接口的管理技巧,以及专用离线模型内部的 prompt 构造机制,帮助你在视觉小说汉化场景中把大模型翻译调出最佳效果。

一、大模型通用接口:把任意 LLM 变成翻译引擎

LunaTranslator 的“大模型通用接口”(对应源码中的gptcommon基类与 chatgpt-3rd-party.py 中的TS实现)面向绝大多数“对话式”大模型平台。它统一处理请求构造、流式解析、上下文拼接、多密钥轮询和结果缓存,你只需要填好 API 地址、密钥与模型名即可开箱即用,无需关心各家 API 的协议差异。

在翻译设置中选择“大模型通用接口”后,主要工作集中在几个配置项上,下文逐一展开。

二、多密钥与多接口管理

2.1 多 Key 轮询:一个输入框搞定多个密钥

如果你有多个不同的密钥只想做“轮询”使用,只需要用|(竖线)分隔填入API Key输入框即可,例如:

sk-aaaa|sk-bbbb|sk-cccc

源码中模型列表拉取、请求鉴权等环节都按|切分密钥(参见 gptcommon.py 中list_modelsSECRET_KEY.split("|")[0]的处理),运行时引擎会自动轮询使用,并根据接口返回的错误反馈动态调整各 Key 的权重——某个 Key 频繁报错会被降低使用优先级,从而提升整体可用性。

2.2 多接口并存:复制一套配置做效果对比

当你不只想轮询密钥,而是想同时用不同的 API 地址 / prompt / model / 采样参数跑同一段文本做翻译效果对比时,可以:

  1. 点击大模型通用接口上方的“+”按钮,选择“大模型通用接口”;
  2. 在弹出的窗口中为该副本命名,系统会复制一份当前接口的全部设置与 API 配置;
  3. 激活复制出的接口,对它单独修改 prompt、模型、参数等;副本与原接口可同时运行、同时出结果。

借助这一机制,你可以把同一句日文同时发给 GPT 系、Gemini 系和 Sakura 离线模型,直观对比各家译文风格,再决定正式使用哪个配置。

三、通用接口参数详解(含源码级原理)

3.1 API 接口地址

大部分常见大模型平台的接口地址可直接从下拉列表选取。对于未列出的平台,请自行查阅其官方文档填写 Base URL。

LunaTranslator 会根据你填写的地址自动识别协议类型,从而采用不同的鉴权与请求/响应解析逻辑。从 utils.py 的APIType实现可以看到识别规则:

地址特征识别为说明
generativelanguage.googleapis.com或含/v1betaGemini按 Gemini 的contents/systemInstruction格式组装请求
api.anthropic.com/v1/messagesClaude使用X-Api-Key头与anthropic-version协议
openai.azure.com/openai/deployments/Azure OpenAI使用api-key
qianfan.baidubce.com/v2百度千帆支持 IAM AK/SK 换取 Bearer Token(见 4.2 节)
dashscope.aliyuncs.com/compatible-mode阿里云百炼兼容 OpenAI 协议,qwen-mt 系列走专用流式解析
api.cohere./api.mistral.aiCohere / Mistral对应专用兼容层
其余地址通用 OpenAI 兼容/chat/completions协议处理

以 Azure 为例,官方文档给出的标准地址格式为:

https://{endpoint}.openai.azure.com/openai/deployments/{deployName}/chat/completions?api-version=2023-12-01-preview

其中{endpoint}替换为你的 Azure 资源名,{deployName}替换为模型部署名。

3.2 API Key

API Key在对应平台的控制台获取。要点如下:

  • 多 Key 用|分隔即可轮询(见 2.1 节);
  • 百度千帆有特殊要求:请使用百度智能云 IAM 的 Access Key、Secret Key,要么先自行换取 Bearer Token 填入,要么按Access Key:Secret Key的格式直接填入;注意它不是千帆 ModelBuilder 旧版 v1 接口的 API Key/Secret Key,两者不能通用。源码 gptcommon.py 中的qianfanIAM会在检测到Access Key:Secret Key格式时自动签名调用 IAM 换取临时 Token,并缓存复用;
  • 讯飞星火比较特殊,需要按APIKey:APISecret的格式填入(见 4.2 节)。

3.3 model

大多数平台填好地址和密钥后,点击model旁边的刷新按钮即可通过平台的模型列表接口拉取可用模型(源码见 gptcommon.py 的list_models)。

如果平台不支持拉取模型列表、且默认列表里没有你想要的模型,就参照该平台官方文档手动填写模型名。手动填写后同样可以正常翻译。

3.4 流式输出

开启后,模型输出内容将以流式增量显示在翻译面板中(逐字/逐段出现),等待时间体感更短;关闭后则等模型完整生成完毕一次性显示全部内容。

从源码看,流式开关同时影响请求参数与响应解析两条链路:开启时请求体带stream=True,并走 gptcommon.py 的parsestreamresp,按协议差异分发到 Gemini/Claude/qwen-mt/通用 SSE 四种解析器;关闭时走普通 JSON 响应解析。流式模式下还会识别并隐藏思考内容(thinking ...计数),避免大段思维链刷屏。

3.5 附带上下文个数

该参数表示向大模型附带多少条历史的原文与译文作为上下文,用于让模型理解前文语境、保持人称与专有名词一致。设置为0即禁用上下文优化。

从 basetranslator.py 的_gpt_common_parse_context实现看,引擎从最近的会话历史中取出最新 N 组“用户原文 + 助手译文”,按时间正序拼回消息列表;sakura_base.py 中则通过use_context/append_context_num两个配置控制启用与条数。上下文越多对语感连续性越有利,但会消耗更多 token 并拉长首字延迟,建议在 0~8 之间按需调节。

3.6 自定义 system prompt / 自定义 user message / prefill

这是控制模型输出质量的三个“手术刀”:

  • 自定义 system prompt:设定模型扮演的角色与总任务,默认值为英文的“你是一个翻译器,请把 {srclang} 翻译成 {tgtlang},只输出译文不加解释”;
  • 自定义 user message:设定每次请求的用户消息模板,默认会把{DictWithPrompt[...]}引导词和{sentence}拼进去;
  • prefill:在请求末尾追加一段“助手已经输出的内容”,引导模型顺着 prefill 继续写——常用做法是填一个翻译结果的开头或直接写“译文:”,能显著约束模型只输出译文、不废话(源码见 basetranslator.py 的消息组装逻辑)。

三者都有开关,可以按喜好自定义,也可以全部保持默认。

占位符字段(在 system prompt 和 user message 中均可使用):

占位符含义与行为
{sentence}当前欲翻译的文本
{srclang}/{tgtlang}源语言/目标语言。若 prompt 仅使用英语,则替换为英文语言名;否则替换为当前 UI 语言下的语言名
{contextOriginal[N]}N 条历史原文(N为数字时使用指定条数)
{contextTranslation[N]}N 条历史译文
{contextBoth[N]}N 条历史原文+译文;若写{contextBoth[N]}则取“附带上下文个数”的值,若写{contextBoth[10]}则固定取 10 条
{DictWithPrompt[XXXXX]}引用“专有名词翻译”中的词条;XXXXX是一段引导 LLM 使用词条的 prompt。当没有匹配到任何词条时该字段会被整体清除,避免破坏翻译内容

从源码看,上下文占位符由 gptcommon.py 的正则{contextOriginal[(N|\d+)]}等依次替换实现;词条占位符则由__if_has_dwp处理,支持->分隔与TabSplit制表符两种词条格式,未命中词条时返回空串并吞掉后续换行(源码 gptcommon.py)。

一个典型的自定义 user message 示例:

请根据以下术语表,将 {srclang} 文本翻译成 {tgtlang},只输出译文: {DictWithPrompt[翻译时请将以下专有名词翻译为我指定的译文:]} {sentence}

一个典型的 system prompt 示例:

你是一名视觉小说日译中专家。请结合前文语境(如有)翻译最新一句,保持人称一致: {contextBoth[4]}

3.7 Temperature / max tokens / top p / frequency penalty

这四个是常见的生成采样参数:

  • Temperature:温度,越高随机性越强、越低越保守;
  • max tokens:单次生成的最大 token 数上限;
  • top p:核采样阈值;
  • frequency penalty:频率惩罚,抑制重复用词。

针对不同平台,官方文档特别提醒了两种兼容性问题:

  1. 部分参数不被接口接受:例如某些平台的模型不接受top pfrequency penalty,此时只需关闭对应参数的开关,请求体中就不会携带该字段(源码 utils.py 中按frequency_penalty_usetop_p_use等开关决定是否写入);
  2. max tokens被弃用:部分新模型改用max completion tokens。此时打开“使用 max completion tokens”开关,引擎就会把请求字段从max_tokens切换为max_completion_tokens(源码 utils.py)。

3.8 reasoning effort(思考强度)

部分平台(如 OpenAI o 系列、Gemini 2.5 系列)支持思考强度控制。LunaTranslator 将其抽象为none / minimal / low / medium / high / xhigh几个档位。

Gemini 平台会自动映射为thinkingBudget,映射规则与源码 utils.py 完全一致:

档位thinkingBudget含义
none0停用思考(对 Gemini-2.5-Pro 模型不适用)
minimal0停用思考
low512低思考预算
medium-1开启动态思考(由模型自行决定)
high24576高思考预算
xhigh24576极高思考预算

3.9 thinking.type

部分平台(主要是 DeepSeek)通过thinking.type字段控制思考模式开关。开启后,请求体会带上thinking: {"type": ...}(源码 utils.py),可配合“隐藏思考内容”选项在翻译面板中只展示最终译文。

3.10 其他参数:自定义键值对

以上只是常见参数。如果你的平台提供了额外有用的参数,可以在“其他参数”区域自行添加键值对,它们会被合并进请求体(body)或请求头(header)。从 customparams.py 的实现看,每条自定义参数支持以下类型:

类型行为
字符串原样写入字符串值
数值 / 整数转换为float/int写入
布尔转换为true/false
json/python先按 JSON 解析,失败则按 Python 表达式求值后写入(可引用请求上下文变量)
Header作为额外请求头字段追加

例如某些平台需要传入user_idmetadata或自定义stop参数,都可以通过这里的键值对实现,无需改代码。

四、常见大模型平台接入速查

4.1 欧美平台

平台接入要点
OpenAIAPI Key 在官方平台的 API Keys 页面获取
GeminiAPI Key 在 Google AI Studio 的 API Key 页面获取;地址自动识别,思考强度映射见 3.8 节
NvidiaAPI Key 在 Nvidia build 平台 Discover 页面获取
ClaudeAPI Key 在 Anthropic 控制台获取;模型列表见 Anthropic 官方模型文档
cohereAPI Key 在 Cohere Dashboard 获取
x.aiAPI Key 在 xAI 控制台获取
groqAPI Key 在 Groq 控制台获取
OpenRouterAPI Key 在 OpenRouter 设置页获取;一个 Key 可中转调用多平台模型
Mistral AIAPI Key 在 Mistral 控制台获取
Azure按 3.1 节的地址模板填写,替换{endpoint}{deployName}
cerebrasAPI Key 在 Cerebras 云端控制台的 API Keys 栏目获取

4.2 中国平台

平台接入要点
DeepSeekAPI Key 在 DeepSeek 开放平台获取;支持thinking.type思考模式开关
小米 MiMoAPI Key 在小米 MiMo 平台控制台获取
阿里云百炼API Key 在百炼控制台 API-KEY 页获取;模型清单见官方模型文档
字节跳动火山引擎API Key 在火山引擎方舟控制台创建;模型文档见方舟文档中心
月之暗面API Key 在 Moonshot 开放平台获取
智谱AIAPI Key 在智谱开放平台用户中心获取
讯飞星火需同时获取APIKeyAPISecret,并按APIKey:APISecret的格式填入 API Key;模型参数参考星火 HTTP 调用文档
腾讯混元API Key 参考腾讯云官方文档获取;模型见混元文档
百度千帆见 3.2 节:IAM 的Access Key:Secret Key格式或自换 Bearer Token,注意与旧版 v1 接口密钥不通用
MiniMaxAPI Key 在 MiniMax 开放平台获取

4.3 API 聚合管理器

除了直接接入各家平台,也可以使用 new-api 等 API 中继/聚合工具,把多家平台的模型与多个密钥统一托管,再通过一个聚合地址接入 LunaTranslator。这样既便于团队共享额度、统一计费,也省去在多个平台控制台之间来回切换的麻烦;聚合地址在“大模型通用接口”中按普通 OpenAI 兼容地址填入即可。

五、特定离线翻译模型:SakuraLLM / GalTransl / Hy-MT2

5.1 设计初衷与适用场景

有一部分大模型是专为离线翻译设计、或针对特定场景微调的,例如面向日文轻小说/Galgame 汉化的 SakuraLLM 系模型、腾讯的 Hy-MT2 多语言翻译模型。它们大多部署好后可以直接用“大模型通用接口”调用,但部分模型需要专用 prompt 格式才能发挥最佳效果(例如 Sakura 需要携带术语表、历史翻译等结构化信息)。

为此,LunaTranslator 提供了“特定离线翻译模型”专用接口:它不开放用户自定义 prompt,而是由程序按模型发布者提供的 prompt 格式自动构造消息,用户只需要选择模型版本、填好本地部署地址即可。

目前该接口支持的模型如下:

作者模型语言
tencentHy-MT2通用
SakuraLLMSakuraLLM & GalTransl日语 → 中文

5.2 模型自动识别与版本探测

即使你在“大模型通用接口”中选用了 SakuraLLM 等模型,LunaTranslator 也能根据模型名自动切换 prompt 模板。从 sakura_base.py 的maybedetectprompttype可以看到识别规则:

模型名包含命中模板
hy-mt2Hy-MT2
galtranslGalTransl
sakura+qwen3-v1.5SakuraLLM v1.5
sakura+qwen2.5-v1.0SakuraLLM v1.0
sakura+v0.10SakuraLLM v0.10
sakura+v0.9SakuraLLM v0.9
其他保持“auto”,由用户显式选择

专用接口中也可直接选择具体的 prompt 版本(SakuraLLM v0.9 / v0.10 / v1.0 / v1.5 / GalTransl / Hy-MT2)。

5.3 各版本 prompt 差异(源码级)

不同版本的 prompt 构造逻辑集中在 sakura_base.py 的sakura_make_messageshymt2_make_messages中,核心差异如下:

  • SakuraLLM v0.9:最简形式。system prompt 为“轻小说翻译模型”人设,要求以日本轻小说风格将日文译成简体中文、联系上下文正确使用人称、不擅自添加原文没有的代词;用户消息为“将下面的日文文本翻译成中文:{sentence}”。
  • SakuraLLM v0.10:引入术语表。system prompt 强调“使用给定的术语表”、注意使役态与被动态的主语宾语区分;用户消息先给“根据以下术语表(可以为空)……”再给待译文本。
  • SakuraLLM v1.0:术语表 + 上下文组合。会将历史翻译对按“user 原文 / assistant 译文”格式拼接,同时支持术语表(格式src->dst #备注)。
  • GalTransl / SakuraLLM v1.5:面向视觉小说的增强格式。system prompt 强调“视觉小说翻译模型”“日本二次元领域翻译模型”;用户消息按历史翻译 + 术语表 + 待译文本三段式拼接,并显式要求“结合历史剧情和上下文”。
  • Hy-MT2:多语言翻译模型。不强制使用术语表,消息模板为“将以下文本翻译成{目标语言},注意只需要输出翻译后的结果,不要额外解释”;若检测到词典则改为“参考下面的翻译……”引导格式(中文目标时用翻译成连接、英文目标时用translates to),并把最近 N 轮历史消息前置(sakura_base.py)。

5.4 部署与调用提示

  • SakuraLLM 系模型通常需要本地/局域网部署 llama.cpp 类推理服务(如支持 llama.cpp 接口的 Sakura 分支服务端),部署完成后把服务地址填入“API 接口地址”即可;详细的 Sakura 部署步骤可参考仓库内 docs/zh/sakurallmcolab.md;
  • 连接失败时,专用接口的报错提示为“无法连接,可能未正确部署 Sakura 模型”(sakura_base.py),排查时优先确认服务端口、模型是否加载完成以及地址协议是否匹配;
  • Hy-MT2 面向通用多语言翻译,更适合非日文语向;日文→中文场景建议优先 SakuraLLM/GalTransl 以获得更贴合 galgame 语境的译文。

六、小结与调优建议

大模型翻译接口的参数体系可以归纳为三层:连通性参数(API 地址、Key、model)、生成参数(流式、temperature、top p、max tokens、reasoning effort 等)与内容控制参数(system/user prompt、上下文条数、术语表占位符)。实操中建议按以下顺序调优:

  1. 先用刷新按钮拉模型列表,确认连通性;
  2. 保持默认 prompt 跑通第一版翻译,再逐项调整“附带上下文个数”(4~8 条)与 system prompt;
  3. 打开“专有名词翻译 +{DictWithPrompt[...]}”占位符,统一人名/地名/专有名词,注意未命中词条时占位符会自动清除,不会污染译文;
  4. 多平台对比时用“+”复制接口,同时挂载不同配置逐句对比;
  5. 离线场景直接选用专用接口加载 SakuraLLM/GalTransl,并确认模型名可被自动识别到对应 prompt 版本。

源码中与本主题相关的关键文件包括:translator/gptcommon.py(通用接口核心与流式解析)、translator/sakura_base.py(离线模型 prompt 构造)、translator/basetranslator.py(prompt 模板与上下文拼接)、myutils/utils.py(APIType 识别与 Gemini thinkingBudget 映射)、gui/customparams.py(自定义参数类型)。深入阅读这些实现,可帮助你针对特定平台写出更精准的自定义 prompt 与扩展参数。

【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/15 18:44:49

北京百度网站排名优化图解步骤拒绝模板丑站

北京百度网站排名优化图解步骤拒绝模板丑站 别再用那种一眼假的模板站去糊弄客户了。很多北京老板一上来就问:“我网站做出来怎么搜不到?”或者“这页面看着太廉价,客户不信。” 实话实说, 模板网站太丑不够用…

作者头像 李华
网站建设 2026/9/15 18:44:05

TCP重传机制详解:ARQ、快速重传与SACK全解析

先讲一个我自己的排障经历,可能不少搞网络的人都有同感。前两年帮客户排查一个内网大文件传输慢的问题,应用层写的是TCP,两端都是千兆网卡,按理说应该能跑到八九百兆,但实际只有两三百兆。抓包一看,吓一跳&…

作者头像 李华
网站建设 2026/9/15 18:41:51

TradingView Advanced Charts图表库集成与版本特性解析

简介:TradingView 2020-2021 年最新版 charting_library-master 资源包,面向股票、期货、外汇交易者及需要集成专业图表能力的 Web 开发者,提供 TradingView 图表库的核心源码与静态资源,可帮助用户在自有平台中实现 K 线图、技术…

作者头像 李华