配置多翻译通道支持的语种分流策略

场景:

使用的 glm (智谱AI的大模型) 作为翻译通道,但是大模型进行的翻译支支持三十来个语种,语种有点少。
leimingyun 的翻译通道 支持百多个,主流的基本都覆盖了。
那么,需要glm翻译通道支持的常见翻译语种,像是英文、法语的,glm 通道支持的,则有 glm 通道提供翻译接入,而 glm通道不支持的语种,比如 繁体中文等,则有 leimingyun 翻译通道进行翻译。

实现

1. 设置主翻译通道

这里将glm配置为主通道,也就是

  1. translate.service.glm.key=xxxxxxxxxxx
  2. translate.service.glm.model=GLM-4-Flash
  3. translate.service.thread.number=100

设置的翻译通道

2. 设置备用翻译通道

将 leimingyun 翻译通道配置为备用通道,也就是

  1. translate.service.standby.service=leimingyun
  2. translate.service.standby.config={"domain":"http://12.12.12.12:80"}

有关备用翻译通道的详细说明,可以参考: http://translate.zvo.cn/404947.html

3. 进行指定语种分流策略

然后增加配置进行指定,指定英文、法语 的glm支持的语种走glm,不支持的走leimingyun通道

  1. #
  2. # 主翻译通道支持的语种
  3. #
  4. # 这里出现的语种,要翻译接口 form、to 都匹配,才会触发
  5. # 如果不匹配,则自动转到 translate.service.standby.service 备用翻译通道来进行
  6. # from 中的第一个是auto,代表的是不传入from参数有翻译通道自己来识别语种时,默认就是 auto
  7. translate.service.set.mainService.from=["auto","icelandic","hungarian","dutch","japanese","arabic","deutsch","filipino","english","bengali","portuguese","romanian","french","czech","swedish","greek","spanish","russian","italian","thai","vietnamese","korean","chinese_simplified","finnish","turkish","hindi","bulgarian","polish","kazakh"]
  8. translate.service.set.mainService.to=["icelandic","hungarian","dutch","japanese","arabic","deutsch","filipino","english","bengali","portuguese","romanian","french","czech","swedish","greek","spanish","russian","italian","thai","vietnamese","korean","chinese_simplified","finnish","turkish","hindi","bulgarian","polish","kazakh"]
  9. # 指定 language.json 返回的语种列表是使用哪个翻译通道的,
  10. # 示例中主通道用的是 glm, 备用通道用的是 leimingyun ,这里的值要么设置为 glm,要么设置为leimingyun ,默认不设置则是主翻译通道,也就是 glm
  11. translate.service.set.language.service=leimingyun

测试

访问 /language.json 即可看到效果
通过 /translate.json 翻译一个繁体中文试试,看是否走了备用通道成功进行翻译