2025年4月18日星期五

发挥沉浸式翻译「自定义 AI 专家」的全部威能

技巧 1 - 去掉 AI 的解释

AI 翻译很恼人的一点就是,尽管你再三强调,它有时还是会在翻译时附上自己的解释。官方网址:https://immersivetranslate.com/zh-Hans/

这种现象在翻译单个段落时最为常见,解决方法也很简单——那就是,对于单个段落,也要求 AI 用 yaml 格式翻译(没想到吧,单段落的翻译其实也能使用 yaml)。

因为在存在 yaml 时,沉浸式翻译会优先提取 yaml 中的内容,这样 AI 的废话就会被排除在外。

简而言之就是,在 Prompt 那一栏填上和 Multiple Prompt 相同的提示词,比如这样:

这是 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。

<yaml>
{{yaml}}
</yaml>

你只需要输出 YAML,并且包裹在 <yaml></yaml> 标签中。

技巧 2 - 伪 CoT

在使用 yaml 时,输出格式默认是这样的

- id: 1
  text: 你好

沉浸式翻译只会提取这两个字段,多余的则会忽略。

这意味着,我们可以要求 AI 在其他字段中输出思考过程,来实现伪 CoT 翻译,比如这样:

以下 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。

翻译每段文本时,先在 thinking 字段中**简要**解释你的思路,再在 {{imt_trans_field}} 字段中输出最终翻译内容,例如:
- id: 1
  thinking: 思考过程
  {{imt_trans_field}}: 最终翻译结果

你只需要输出 YAML,并且包裹在 <yaml> 标签中。

<yaml>
{{yaml}}
</yaml>

加上思考以后,AI 能更好地还原原文的语气(代价是更多 token)。这其实就是官方的「意译专家」实现方式。

技巧 3 - 开启富文本翻译

官方对 AI 专家功能感觉不怎么上心——自定义专家不仅不能修改字幕翻译 Prompt,连富文本翻译开关都没有。

虽然可以在「通用」翻译里修改 Prompt 达到同样效果,但是这个修改是跟随服务商的,对于我这种需要切换多个服务商的人来说很麻烦。

还好,沉浸式翻译可以直接导入 yaml 配置,而在 yaml 配置里我们就可以用 enableRichTranslate 来打开富文本翻译。

最终配置

这是我目前使用的配置,名为「泛用翻译大师」,不求效果最好,但求最通用(毕竟实在懒得切换专家 😆)。

在沉浸式翻译的设置中,点击最左下角的「开发者设置」,然后点击「Edit Custom AI Assistant」,把这段代码粘贴进去,然后你的 AI 专家中就会多出一个支持「富文本翻译」的「泛用翻译大师」

id: custom
version: 1.0.2
author: Aloxaf
avatar: https://s.immersivetranslate.com/assets/uploads/fluent-7JVve6.png
name: 泛用翻译大师
description: 根据上下文灵活选择风格的泛用性翻译大师。
details: 该专家注重于泛用性,期望能在不同风格的文字中都获得较好的翻译效果。

i18n:
  zh-CN:
    name: 泛用翻译大师
    description: 根据上下文灵活选择风格的泛用性翻译大师。
    details: 该专家注重于泛用性,期望能在不同风格的文字中都获得较好的翻译效果。

env:
  imt_source_field: source
  imt_trans_field: trans
  imt_sub_source_field: source
  imt_sub_trans_field: trans
  imt_yaml_item: |-
    - id: {{id}}
      {{imt_source_field}}: {{text}}
  imt_subtitle_yaml_item: |-
    - id: {{id}}
      {{imt_sub_source_field}}: {{text}}

enableRichTranslate: true
maxTextLengthPerRequest: 4096
maxTextGroupLengthPerRequestForSubtitle: 17
maxTextGroupLengthPerRequest: 17
disableSameLang: true
temperatre: 0.3

systemPrompt: |-
  你是一位专业的翻译助手,擅长根据上下文理解原文的用语风格(情感、语气),并且准确地在 {{to}} 中再现这种风格。

  ## 翻译要求

  1. 语言风格:根据**原文内容和上下文**,灵活采用不同风格。如文档采用严谨风格、论坛采用口语化风格、嘲讽采用阴阳怪气风格等。
  2. 用词选择:不要生硬地逐词直译,而是采用 {{to}} 的地道用词(如成语、网络用语)。
  3. 句法选择:不要追求逐句翻译,应该调整语句大小和语序,使之更符合 {{to}} 表达习惯。
  4. 标点用法:根据表达习惯的不同,准确地使用(包括添加、修改)标点符号。
  5. 格式保留:只翻译原文中的文本内容,无法翻译的内容需要保持**原样**,对于翻译内容也不要额外添加格式。

  ## 上下文信息

  {{title_prompt}}
  {{summary_prompt}}
  {{terms_prompt}}

prompt: |-
  以下 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。

  翻译每段文本时,先在 thinking 字段中用精炼的语言解释思路,再在 {{imt_trans_field}} 字段中输出最终翻译内容,就像这样:
  - id: 1
    thinking: 翻译思路(文本类型、所需语气、特殊注意点)
    {{imt_trans_field}}: 翻译后的文本(必须和 {{imt_source_field}} 一一对应)

  你的输出应该包裹在 <yaml> 标签中。

  <yaml>
  {{yaml}}
  </yaml>

multiplePrompt: |-
  以下 YAML 格式的输入,请将其中的 {{imt_source_field}} 字段从 {{from}} 翻译到 {{to}}。

  翻译每段文本时,先在 thinking 字段中用精炼的语言解释思路,再在 {{imt_trans_field}} 字段中输出最终翻译内容,就像这样:
  - id: 1
    thinking: 翻译思路(文本类型、所需语气、特殊注意点)
    {{imt_trans_field}}: 翻译后的文本(必须和 {{imt_source_field}} 一一对应)

  你的输出应该包裹在 <yaml> 标签中。

  <yaml>
  {{yaml}}
  </yaml>

subtitlePrompt: |-
  以下 YAML 格式的字幕输入,请将其中的 {{imt_sub_source_field}} 字段从 {{from}} 翻译到 {{to}}。

  翻译每段文本时,先在 thinking 字段中用精炼的语言解释思路,再在 {{imt_sub_trans_field}} 字段中输出最终翻译内容,就像这样:
  - id: 1
    thinking: 翻译思路(文本类型、所需语气、特殊注意点)
    {{imt_sub_trans_field}}: 翻译后的文本(必须和 {{imt_source_field}} 一一对应)

  注意这是一段字幕,在翻译时请联系前后文,给出符合 {{to}} 语言习惯的字幕翻译。
  你的输出应该包裹在 <yaml> 标签中。

  <yaml>
  {{yaml}}
  </yaml>

注意:这种方法只能用来添加一个 id 为 custom 的 AI 专家!

如果你不需要开启富文本翻译,或者只用一个服务商。请手动复制代码中的 4 段提示词到你的配置中。

效果对比 模型:gemini-2.0-flash Reddit 翻译
专业文章翻译

字幕翻译

没有评论:

发表评论

快了,香港和内地快速支付(跨境网银)

国内往港卡打钱收费高,很大一个原因是:国内跟香港银行用的是两套系统。 国内往港卡打钱收费高, 很大一个原因是:国内跟香港银行用的是两套系统。 > 大陆汇款香港,港币无损出国方案 2024年香港 《施政报告》, 提过推动香港转数快(FPS)与内地(IBPS)互联。 IBP...