LM Studio如何部署TranslateGemma并做离线翻译插件?
最近使用沉浸式翻译的时候,老是弹框提示需要登录才能使用,不登录就不给用了。

以往我们遇到这种情况就只能是忍气吞声,老老实实的去注册登录了。
但是现在AI这么强大,我们能不能让AI帮我们写一个翻译插件呢?今天我们就通过本地部署TranslateGemma翻译模型,AI编写浏览器插件,来实现浏览器离线翻译功能。
扩展导读: 这里说的“本地部署”,是指把翻译大模型下载到自己电脑上运行,不把网页内容上传到第三方服务器;“离线翻译”则意味着即使断网,只要本地模型和插件正常,也能完成翻译。它的优势是隐私更好、免费额度不受限、可定制性强;缺点是依赖电脑硬件,速度通常不如云端大厂 API。下面我们会从模型部署、API 启动、插件制作到多方案对比,完整走一遍。
一、LM Studio本地部署TranslateGemma模型
为了方便使用,我们通过LM Studio工具来进行本地模型的部署。LM Studio 是一款图形化的本地大模型运行工具,支持 GGUF 量化模型,适合不想折腾命令行的普通用户。TranslateGemma 是面向翻译任务的模型系列,4B 表示约 40 亿参数,量化后体积和显存占用会更低。
1.下载安装LM Studio
LM Studio官网下载地址:https://lmstudio.ai/download
我们打开 LM Studio 官方下载地址,点击“Download LM Studio for Windows”(下载 Windows 版 LM Studio)下载 LM Studio:

下载完成后文件名为LM-Studio-0.4.21-2-x64.exe,直接双击安装:

安装位置选择D盘:

专家建议: 安装路径尽量不要包含中文和空格;D盘最好预留 10GB 以上空间;如果后续要下载多个模型,建议单独建一个“AI模型”目录,方便管理和迁移。
2.下载TranslateGemma模型
安装完成后,可以进入LM Studio设置界面,将语言调整成中文:

点击左侧“Model Search”(模型搜索)按钮进入模型列表页面:

搜索TranslateGemma模型进行下载:

这里我们选择4B的模型就可以了,这个translategemma-4b-it-GGUF是量化后的模型名称。GGUF 是 llama.cpp 生态常用格式,适合 CPU/GPU 混合推理;4B 表示约 40 亿参数;it 通常表示 instruction-tuned,也就是经过指令微调,更适合对话和翻译任务。
同类方案对比:
| 方案 | 部署位置 | 隐私性 | 免费程度 | 速度 | 适合人群 |
|---|---|---|---|---|---|
| TranslateGemma + LM Studio | 本地电脑 | 高 | 完全免费,耗电和硬件 | 中慢,取决于显卡/CPU | 隐私敏感、爱折腾 |
| OpenAI 兼容在线大模型 | 云端 | 中低 | 视平台,可能收费 | 快 | 追求质量、多任务 |
| 百度翻译 | 云端 | 中 | 每月 100 万字符,需认证 | 快 | 常规网页翻译 |
| 腾讯 TMT | 云端 | 中 | 每月 500 万字符 | 快 | 批量、企业场景 |
| 浏览器自带翻译 | 云端/本地 | 中 | 免费 | 快 | 普通用户 |
3.加载模型
下载完成后点击Load Model加载模型:

模型没有加载成功,提示加载模型失败:

我们查看一下LM Studio日志,日志中说提供的聊天模板不受支持:

找AI问了一下,translategemma模型需要特定的提示词模板,网上找了大佬分享的模板,内容如下:
{{ bos_token }} {%- set ns = namespace(system_text='') -%} {%- for message in messages -%} {%- if message['role'] == 'system' -%} {%- if message['content'] is string -%} {%- set ns.system_text = ns.system_text + (message['content'] | trim) + '\n\n' -%} {%- endif -%} {%- elif message['role'] == 'user' -%} {{ 'user\n' }} {%- if ns.system_text -%} {{ ns.system_text }} {%- set ns.system_text = '' -%} {%- endif -%} {%- if message['content'] is string -%} {{ message['content'] | trim }} {%- elif message['content'] is iterable -%} {%- for item in message['content'] -%} {%- if item['type'] == 'text' -%} {{ item['text'] | trim }} {%- endif -%} {%- endfor -%} {%- endif -%} {{ '\n' }} {%- elif message['role'] == 'assistant' -%} {{ 'model\n' }} {%- if message['content'] is string -%} {{ message['content'] | trim }} {%- endif -%} {{ '\n' }} {%- endif -%} {%- endfor -%} {%- if add_generation_prompt -%} {{ 'model\n' }} {%- endif -%}
将translategemma模型默认的模板内容替换成该模板即可成功加载。
替换路径点击My Models->选择translategemma-4b-it模型->点击设置按钮->Load->Chat Template:

最后点击加载模型就可以成功加载了:

注意事项: 模板必须完整复制,注意花括号、百分号、引号;不要漏掉 add_generation_prompt;替换后建议重启 LM Studio 或重新加载模型。如果仍然失败,优先检查模型版本与模板是否匹配。
4.启动本地API服务
点击LM Studio界面左侧的Developer按钮,在Server Settings设置中启用CORS跨域功能:

点击Start Server开关打开API服务:

打开完成后状态如下:

可以获得下面参数:
本地API服务地址:
http://127.0.0.1:1234/v1/chat/completions 模型名称:
translategemma-4b-it
5.测试本地API服务
我们可以通过curl命令测试API是否正常提供服务,打开命令行窗口,输入下面命令测试获取模型列表:
curl http://127.0.0.1:1234/v1/models 
成功输出模型列表说明LM Studio的本地API服务已经正常运行了。
术语解释: API 是应用程序接口;CORS 是跨域资源共享,浏览器插件访问本地服务时常需要开启;127.0.0.1 表示本机回环地址;1234 是 LM Studio 默认端口。若端口冲突,可在 Server Settings 中修改。
二、浏览器翻译插件制作
1.编写浏览器插件
因为混元模型还在免费期间,所以我们还是使用WorkBuddy来编写浏览器翻译插件:

扩展说明: WorkBuddy 可以理解为 AI 编程助手。让 AI 写插件时,提示词要写清楚:浏览器扩展 Manifest V3、popup 配置页、content script 抓取网页文本、调用本地 API、错误处理、CORS、权限声明等。建议先让 AI 生成最小可用版本,再逐步迭代。
2.加载浏览器翻译插件
浏览器翻译插件开发完成后,WorkBuddy给出了使用方法:

我们根据提示,在浏览器地址栏输入下面地址打开浏览器扩展插件页面:
chrome://extensions 或者点击浏览器右侧三个点展开主菜单,然后选择【扩展程序】->【管理扩展程序】,进入浏览器扩展插件页面:

点击右侧按钮打开开发者模式后,通过加载未打包的扩展程序功能来加载翻译插件:

加载成功后会在所有扩展程序中显示翻译插件:

3.启用翻译插件
加载完成后点击插件右侧开关启用翻译插件:

启用后浏览器右上角就出现扩展程序图标,点击后显示启用的所有插件,点击翻译插件后的图钉按钮,将插件固定在工具栏:

4.配置API模型接口
点击插件图标,会弹出配置页面,点击配置翻译引擎进行本地翻译模型配置:

我们将LM Studio提供的本地API参数填进去:

配置项建议:
- API 地址:http://127.0.0.1:1234/v1/chat/completions
- 模型名称:translategemma-4b-it
- 请求方式:POST
- 请求头:Content-Type: application/json
- 超时时间:可设 60 秒或更长
- 温度:翻译任务建议 0.1-0.3,减少发散
5.测试翻译效果
填写本地API参数后,我们点击测试链接验证:

提示测试成功了,但是译文是空的,这不正常,我们看LM Studio的日志提示:

我们看到请求的接口不太对,交给WorkBuddy让它继续修改就好了:

经过几轮修改后,重新加载插件后测试成功翻译:

来翻译一个真实的英文网页:

已经可以成功翻译了,不过速度还是有点慢哈哈。
专家建议: 速度慢可从以下方面优化:选择更小量化版本;开启 GPU 加速;减少单次翻译文本长度;做分段并发;缓存已翻译内容;关闭不必要的日志。若翻译质量不稳定,可固定系统提示词,例如“你是专业翻译,请只输出译文,不要解释”。
三、其他翻译API支持
1.在线大模型(OpenAI兼容)
兼容OpenAI接口的大模型都可以使用,实测官方deepseek-v4-flash模型翻译可用。
术语解释: OpenAI 兼容接口通常指 /v1/chat/completions 风格 API。只要服务商兼容该协议,插件就可以复用。优点是无需本地显卡,缺点是需联网、可能收费、隐私取决于服务商。
2.百度翻译
百度翻译每月有100万字符免费额度,需要完成实名认证,没认证只有5万字符免费额度。
百度翻译开放平台:https://api.fanyi.baidu.com/
3.腾讯机器翻译TMT
腾讯机器翻译每月有500万字符免费额度,需要授权子账号QcloudTMTFullAccess权限。
腾讯机器翻译TMT:https://cloud.tencent.com/product/tmt
同类方案对比表:
| 方案 | 部署位置 | 免费额度 | 隐私 | 速度 | 适合场景 |
|---|---|---|---|---|---|
| TranslateGemma+LM Studio | 本地 | 完全免费,耗电/硬件 | 高 | 中慢,取决于硬件 | 隐私敏感、离线 |
| OpenAI兼容在线大模型 | 云端 | 视平台 | 中低 | 快 | 高质量、多任务 |
| 百度翻译 | 云端 | 每月100万字符,认证后 | 中 | 快 | 常规网页翻译 |
| 腾讯TMT | 云端 | 每月500万字符 | 中 | 快 | 批量、企业 |
| 浏览器自带翻译 | 云端/本地 | 免费 | 中 | 快 | 普通用户 |
插件源码放到gitee上了,感兴趣的朋友可以尝试一下。
插件源码地址:https://gitee.com/bit99999/eyyyye/tree/master/translation-extension
扩展说明:
1.translategemma模型开源地址:https://huggingface.co/collections/google/translategemma
未来趋势: 端侧 AI 与浏览器原生 AI 正在融合。未来浏览器可能内置本地翻译模型,插件只需调用浏览器 API;多模态翻译、语音翻译、图片翻译也会更普及;隐私计算和离线大模型会让“无需注册、无需上传”的翻译体验成为常态。建议开发者关注 WebGPU、WebNN、Chrome 内置 Gemini Nano、ONNX Runtime Web 等方向。
注意事项汇总:
- 本地 API 默认只监听 127.0.0.1,不要随意暴露到公网。
- 开启 CORS 后,注意恶意网页可能访问本地服务,建议仅必要时开启。
- 模型文件较大,下载前确认磁盘空间。
- 聊天模板必须匹配模型,否则会加载失败或输出异常。
- 浏览器扩展权限越小越安全,避免申请不必要权限。
- 免费 API 有额度限制,商用前阅读条款。
- 翻译长文时建议分段,避免超时和上下文溢出。
- 若使用在线 API,API Key 不要写死在插件前端,最好通过后端代理。
总结: 通过 LM Studio 本地部署 TranslateGemma,再让 AI 编写浏览器插件,我们就能实现一个可离线、可定制、隐私友好的网页翻译工具。虽然速度受硬件限制,但整个方案成本低、可扩展性强,适合喜欢折腾的普通用户和开发者。你可以先从 4B 量化模型开始,跑通后再尝试更大模型或接入百度、腾讯、DeepSeek 等在线接口。
本文由主机测评网发布,不代表主机测评网立场,转载联系作者并注明出处:https://zhuji.jb51.net/jieda/9524.html
