ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

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

2026/9/15 18:45:36 拓冰建站 浏览量
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_models对SECRET_KEY.split(|)[0]的处理运行时引擎会自动轮询使用并根据接口返回的错误反馈动态调整各 Key 的权重——某个 Key 频繁报错会被降低使用优先级从而提升整体可用性。2.2 多接口并存复制一套配置做效果对比当你不只想轮询密钥而是想同时用不同的 API 地址 / prompt / model / 采样参数跑同一段文本做翻译效果对比时可以点击大模型通用接口上方的“”按钮选择“大模型通用接口”在弹出的窗口中为该副本命名系统会复制一份当前接口的全部设置与 API 配置激活复制出的接口对它单独修改 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-version2023-12-01-preview其中{endpoint}替换为你的 Azure 资源名{deployName}替换为模型部署名。3.2 API KeyAPI 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 流式输出开启后模型输出内容将以流式增量显示在翻译面板中逐字/逐段出现等待时间体感更短关闭后则等模型完整生成完毕一次性显示全部内容。从源码看流式开关同时影响请求参数与响应解析两条链路开启时请求体带streamTrue并走 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频率惩罚抑制重复用词。针对不同平台官方文档特别提醒了两种兼容性问题部分参数不被接口接受例如某些平台的模型不接受top p或frequency penalty此时只需关闭对应参数的开关请求体中就不会携带该字段源码 utils.py 中按frequency_penalty_use、top_p_use等开关决定是否写入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/falsejson/python先按 JSON 解析失败则按 Python 表达式求值后写入可引用请求上下文变量Header作为额外请求头字段追加例如某些平台需要传入user_id、metadata或自定义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 在智谱开放平台用户中心获取讯飞星火需同时获取APIKey和APISecret并按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-MT25.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-MT2galtranslGalTranslsakuraqwen3-v1.5SakuraLLM v1.5sakuraqwen2.5-v1.0SakuraLLM v1.0sakurav0.10SakuraLLM v0.10sakurav0.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_messages与hymt2_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、上下文条数、术语表占位符。实操中建议按以下顺序调优先用刷新按钮拉模型列表确认连通性保持默认 prompt 跑通第一版翻译再逐项调整“附带上下文个数”4~8 条与 system prompt打开“专有名词翻译 {DictWithPrompt[...]}”占位符统一人名/地名/专有名词注意未命中词条时占位符会自动清除不会污染译文多平台对比时用“”复制接口同时挂载不同配置逐句对比离线场景直接选用专用接口加载 SakuraLLM/GalTransl并确认模型名可被自动识别到对应 prompt 版本。源码中与本主题相关的关键文件包括translator/gptcommon.py通用接口核心与流式解析、translator/sakura_base.py离线模型 prompt 构造、translator/basetranslator.pyprompt 模板与上下文拼接、myutils/utils.pyAPIType 识别与 Gemini thinkingBudget 映射、gui/customparams.py自定义参数类型。深入阅读这些实现可帮助你针对特定平台写出更精准的自定义 prompt 与扩展参数。【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考