LunaTranslator 大模型翻译接口完全指南:通用接口参数调优、字段占位符与离线翻译模型接入
2026/9/15 15:14:54 网站建设 项目流程

LunaTranslator 大模型翻译接口完全指南:通用接口参数调优、字段占位符与离线翻译模型接入

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

LunaTranslator(视觉小说翻译器)内置了面向主流大模型(LLM)的大模型通用接口,可一键接入 OpenAI、Gemini、Claude、DeepSeek、千帆、混元等国内外数十个平台,通过流式输出、上下文记忆、多 Key 轮询与自定义 Prompt 等手段提升视觉小说与 Galgame 场景下的翻译质量;同时它还提供了面向 Hy-MT2、SakuraLLM 等专用离线翻译模型的专用接口。本文以项目日语文档docs/ja/guochandamoxing.md为骨架,结合仓库源码与默认配置,完整讲解接口的每个参数、字段占位符用法、主流平台接入方式与离线翻译模型调用原理,帮助你在实际游玩与汉化流程中快速配出稳定、高质量的大模型翻译链路。

大模型通用接口是什么

在 LunaTranslator 中,"大模型通用接口"(配置项名chatgptlike,见 默认配置)是一个遵循 OpenAI Chat Completions 兼容协议的统一翻译通道。它让用户把"翻译引擎"与"具体模型厂商"解耦:无论你用的是 OpenAI、Azure、DeepSeek 还是本地 llama.cpp 服务,只要对方暴露的是兼容接口,就能在同一个配置界面里完成接入。

从实现上看,接口的核心逻辑集中在 gptcommon.py 的gptcommon类(继承自basetrans)。其translate()方法会依次完成:校验API接口地址是否填写、读取流式输出开关、根据接口地址自动识别 API 类型(APIType)并分派到 Gemini / Claude / OpenAI 兼容三种请求路径、解析流式或非流式响应、最后把本轮原文与译文写入_context历史缓冲区供后续轮次参考(gptcommon.py L297-L345)。

正因为这层统一抽象,LunaTranslator 才能在同一个界面里覆盖欧美、中国以及本地离线部署的几乎所有大模型服务。

同时使用多个大模型接口

如果你的诉求只是"多个 Key 轮询",直接把多个 Key 用|分隔填入API Key输入框即可,程序会自动轮换并在出错时根据错误反馈调整各 Key 的权重(对应源码中按SECRET_KEY取当前 Key 的 multiapikeycurrent 机制)。

但如果你想要同时对比多个不同的接口地址 / Prompt / 模型 / 参数下的翻译效果,则需要复制接口实例:

  1. 点击翻译引擎上方的+按钮,选择"大模型通用接口";
  2. 在弹出的窗口中为该副本命名,确认后即会复制一份当前大模型通用接口的全部设置与 API 信息;
  3. 激活复制出的接口实例,此时可以对其单独修改配置;副本与原接口可同时运行,从而以多套不同参数并行翻译、对比输出。

这一操作本质上对应了配置系统中同名引擎可注册多个实例的设计,复制后各实例的配置互不干扰,非常适合做 Prompt 与模型选型对比实验。

大模型通用接口参数详解

以下参数均在"大模型通用接口"的设置界面中提供,默认值可对照 默认配置 chatgptlike 段。

API 接口地址

常见大模型平台的接口地址通常可以直接从下拉列表中选择;若列表存在遗漏,请查阅目标平台官方文档,手动填写完整的 API 地址。填入后程序会根据地址自动判定协议类型(Gemini / Claude / OpenAI 兼容等,见APIType解析),选择对应的请求头与请求体构造方式。

API Key

在目标平台的后台获取。支持填写多个 Key(用|分隔)实现自动轮询,并会根据错误反馈动态调整各 Key 的使用权重;遇到某一 Key 频繁报错时会自动降低其权重,提升整体稳定性。

model(模型)

大多数平台在正确填写接口地址与 Key 之后,点击model旁的刷新按钮即可拉取该平台可用模型列表。若平台不提供模型枚举接口、且默认列表中没有所需模型,则参照该接口的官方文档手动填写模型名即可。

流式输出

开启后,模型输出将以流式增量逐段显示在翻译窗口中;关闭则等待模型完整输出后一次性显示。对应源码中的usingstream分支:开启时走parsestreamresp逐块解析,关闭时走common_parse_normal_response一次性解析(gptcommon.py L329-L340)。

附带上下文个数

为了让大模型"读得懂前文",接口会把指定条数的历史原文与译文一并提供给模型,从而显著改善人名、代词、剧情连贯性。设置为0即关闭该上下文优化。源码中每次翻译完成后,原文与译文会被追加进_context(gptcommon.py L344-L345),下一轮请求再按需截取。

自定义 system prompt / 自定义 user message / prefill {#anchor-prompt}

这三者是控制模型输出内容的三种手段,可按喜好自定义,也可保持默认。

  • 自定义 system prompt:定义模型的角色与总体约束。
  • 自定义 user message:定义每轮发送给模型的用户侧消息模板。
  • prefill:以assistant角色的预填内容引导模型续写方向。源码中通过_gptlike_create_prefill("prefill_use", "prefill")生成并以{"role": "assistant", "content": prefill}追加到消息末尾(gptcommon.py L443-L446),常用于强制模型先输出指定格式。

在自定义 system prompt 与 user message 中,可以使用以下字段引用动态信息:

字段含义
{sentence}当前待翻译的文本
{srclang}/{tgtlang}源语言 / 目标语言。若 prompt 中只使用英文,则替换为语言名称的英文;否则替换为当前 UI 语言下的语言名称
{contextOriginal[N]}N 条历史原文。N 为数字时取指定条数
{contextTranslation[N]}N 条历史译文。N 为数字时取指定条数
{contextBoth[N]}N 条历史原文 + 译文。若写{contextBoth[N]}会引用"附带上下文个数"的设置值;若写{contextBoth[10]}则直接使用 10 条
{DictWithPrompt[XXXXX]}引用"专有名词翻译"词条。当没有匹配到的词条时,该字段会被整体清除,避免破坏翻译内容XXXXX是一段引导 LLM 使用给定词条优化翻译的 prompt,可自行定义;若禁用自定义 user message,则使用内置默认引导 prompt

这些字段在源码中均有对应实现:{contextOriginal/Translation/Both}__parsecontextN用正则统一替换,N与数字两种写法分别对应"读取配置中的附带上下文个数"与"使用输入的数字"(gptcommon.py L369-L376);{DictWithPrompt[...]}__if_has_dwp处理,字典为空时按"清除字段、保留相邻换行/字符"的策略回退(gptcommon.py L378-L407)。

Temperature / max tokens / top p / frequency penalty

模型的采样参数,用于调节翻译的随机性与长度上限。注意:部分平台的部分模型不接受top pfrequency penalty等参数,或已弃用max tokens而改用max completion tokens——界面上为这些参数提供了独立开关,遇到平台报错时关闭对应开关即可。默认配置中Temperature默认 0(开启)、top_p默认 0.3(开启)、frequency_penalty默认 0(关闭)、use_max_completion_tokens默认 false(即默认发送max_tokens,默认值 4096)。

reasoning effort

部分平台支持的"思考强度"控制选项(none / minimal / low / medium / high / xhigh,见 默认配置选项列表)。

Gemini 平台,各选项会自动映射为 Gemini 的thinkingBudget,映射规则为:

  • none/minimal0(停用思考;对 Gemini-2.5-Pro 模型不适用)
  • low512
  • medium-1(开启动态思考)
  • high/xhigh24576

thinking.type

部分平台(主要是 DeepSeek)支持的思考模式开关,可选disabled/enabled。开启后可让模型先输出推理过程再给出译文,适合需要可解释翻译结果的场景;结合流式输出时,思考过程会被单独展示。

其他参数

以上仅覆盖通用参数。若你的平台还提供其他有用的参数(如top_kpresence_penaltylogprobs等),可在"其他参数"(customparams,默认配置中rank: -1排在最末)中手动添加键值对,程序会将其合并进请求体与请求头。

常见大模型平台接入速查

大模型通用接口的地址下拉列表内置了大多数主流平台。以下整理各平台的基本接入信息(Key 均在各平台开发者后台获取)。

欧美平台

平台API Key 获取备注
OpenAI平台 API Keys 页默认模型示例gpt-4o-mini
GeminiAI Studio API Key 页支持reasoning effortthinkingBudget自动映射
Nvidiabuild.nvidia.com 开发者区提供 NIM 系列模型
Claude (Anthropic)Anthropic 控制台模型列表见 Anthropic 官方文档
CohereCohere 控制台 API Keys
x.aixAI 控制台
GroqGroq 控制台 Keys主打高速推理
OpenRouterOpenRouter 设置页 Keys聚合多家模型,一个 Key 通用
Mistral AIMistral 控制台 API Keys
Azure OpenAI需自行拼接口地址格式:https://{endpoint}.openai.azure.com/openai/deployments/{deployName}/chat/completions?api-version=2023-12-01-preview,将{endpoint}{deployName}替换为你的资源名与部署名
CerebrasCerebras 云控制台 → API Keys

中国平台

平台接入要点备注
DeepSeek平台 API Keys 页获取支持thinking.type思考模式开关
小米 MiMo小米 MiMo 平台控制台 API Keys
阿里云百炼大模型百炼控制台 API Key 页模型列表见阿里云百炼文档
字节跳动火山引擎火山方舟控制台创建 API Key模型文档见火山方舟文档
月之暗面 (Moonshot)Moonshot 平台 API Keys
智谱 AI智谱开放平台 API Keys模型列表见智谱文档
讯飞星火大模型参考官方文档获取APIKeyAPISecret需按APIKey:APISecret的格式填入API Key输入框,注意是冒号拼接
腾讯混元大模型参考腾讯云官方文档获取模型列表见腾讯云文档
百度千帆大模型见下方警告
MiniMaxMiniMax 平台快速接入文档

警告(百度千帆)API Key请使用百度智能云 IAM 的 Access Key、Secret Key 来生成接口 BearerToken 后作为API Key填入;或者直接按Access Key:Secret Key的格式将两者一起填入API Key输入框。注意:这不是千帆 ModelBuilder 旧版 v1 接口的 API Key、Secret Key,两者不能通用。

使用 API 聚合管理器统一管理

如果你同时使用多个大模型平台、多把 Key,也可以借助new-api之类的 API 中继 / 聚合工具,把多家模型与多个密钥统一管理后再接入 LunaTranslator 的大模型通用接口。这样在 LunaTranslator 中只需维护一个接口地址与一个 Key,便于统一计费与权限管控,中继工具的 LunaTranslator 对接文档可参考其官方使用说明。

特定离线翻译模型:Hy-MT2 与 SakuraLLM

除了通用接口外,还存在一批为离线翻译专门设计或针对特定场景微调的翻译大模型。大部分这类模型部署好之后,直接用上面的大模型通用接口即可调用;但部分模型必须使用专用的 prompt 格式才能发挥最佳翻译效果(例如严格的"只输出译文"指令、术语表引导、历史对话拼接等)。

为此 LunaTranslator 提供了独立的特定离线翻译模型接口(对应实现 sakura_base.py 中的TS类)。该接口的特点是不提供用户自定义 prompt 设置,而是由程序按模型发布者提供的 prompt 格式自动构造消息,从而保证提示词与模型微调时所用的训练格式完全一致。

目前该接口支持以下模型:

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

SakuraLLM 系列的 prompt 版本机制

TS类通过prompt_version_1配置选择具体的 prompt 版本,并支持auto自动探测。各版本的 system / user 消息在 sakura_make_messages 中逐条构造:

  • SakuraLLM v0.9:轻小说风格翻译,system 提示词定义"轻小说翻译模型"身份,user 消息为"将下面的日文文本翻译成中文:"拼接原文;
  • SakuraLLM v0.10:在 v0.9 基础上增加术语表引导——将"专有名词翻译"词条以src->dst格式列出,并强调注意使役态/被动态主语宾语、不擅自增删换行;
  • SakuraLLM v1.0:精简术语表用法,词条为空时直接走普通翻译提示;
  • GalTransl:面向视觉小说翻译,system 提示词强调"视觉小说翻译模型",user 消息按"历史翻译 → 术语表 → 结合历史剧情 → 翻译文本"的顺序拼接;
  • SakuraLLM v1.5:轻小说/漫画/Galgame 通用风格。

翻译完成后,原文与译文分别写入contextcontextReal两个历史缓冲区,供下一轮按附带上下文个数截取(translate 尾部逻辑)。

Hy-MT2 的调用逻辑

Hy-MT2版本走 hymt2_make_messages:目标语言为中文(简体/繁体)时使用中文指令"将以下文本翻译成{},注意只需要输出翻译后的结果,不要额外解释",否则使用英文指令;存在专有名词词条时,会以"参考下面的翻译"形式把词条表嵌入 user 消息,并要求"只输出翻译后的结果";同时支持把contextReal中的历史对话以多轮消息的形式拼接到请求前部。

离线模型清单与量化文件

仓库中维护了一份离线翻译模型清单 llm_model_list.json,按series(系列)、account(作者)、repos(仓库)与具体 GGUF 文件(含文件大小、时间戳、sha256)组织,涵盖:

  • Hy-MT2Hy-MT2-7B-GGUF(Q4_K_M / Q6_K / Q8_0,约 4.6~8.0 GB)与Hy-MT2-1.8B-GGUF(Q4_K_M / Q6_K / Q8_0,约 1.1~1.9 GB),标注为通用语言;
  • SakuraLLMGalTransl-v4-4B-2601Sakura-14B-Qwen3-v1.5-GGUFSakura-GalTransl-14B-v3.8Sakura-GalTransl-7B-v3.7Sakura-7B-Qwen2.5-v1.0-GGUFSakura-32B-Qwen2beta-v0.10pre1-GGUF等,语言标注为ja->zh(日语→中文),另含 Shisa.AI 等系列。

Hy-MT2-7B-GGUF/Hy-MT2-7B-Q6_K.gguf为例,清单同时给出 6.16 GB 的文件大小与 sha256 校验值,便于在部署本地 llama.cpp / Ollama 服务后核对下载文件完整性。部署完成后,将该本地服务的 OpenAI 兼容地址填入特定离线翻译模型接口(或直接使用大模型通用接口)即可开始翻译。

总结

LunaTranslator 的大模型翻译体系由"大模型通用接口"与"特定离线翻译模型接口"两层构成:前者用统一的 OpenAI 兼容抽象覆盖国内外数十个云平台与本地服务,通过流式输出、附带上下文、字段占位符、多 Key 轮询与思考参数调节实现精细化调优;后者为 Hy-MT2、SakuraLLM 这类专用离线模型内置发布者提供的 prompt 模板,保证翻译效果与模型微调场景一致。配合文档 docs/ja/guochandamoxing.md(中文对照版见 docs/zh/guochandamoxing.md)、默认配置 config.json 与核心实现 gptcommon.py、sakura_base.py,你可以根据平台兼容性、翻译质量与延迟需求,快速搭建并对比出最适合自己游玩的翻译方案。

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

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

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询