配置多翻译通道支持的语种分流策略
场景:
使用的 glm (智谱AI的大模型) 作为翻译通道,但是大模型进行的翻译支支持三十来个语种,语种有点少。
leimingyun 的翻译通道 支持百多个,主流的基本都覆盖了。
那么,需要glm翻译通道支持的常见翻译语种,像是英文、法语的,glm 通道支持的,则有 glm 通道提供翻译接入,而 glm通道不支持的语种,比如 繁体中文等,则有 leimingyun 翻译通道进行翻译。
实现
1. 设置主翻译通道
这里将glm配置为主通道,也就是
translate.service.glm.key=xxxxxxxxxxx
translate.service.glm.model=GLM-4-Flash
translate.service.thread.number=100
设置的翻译通道
2. 设置备用翻译通道
将 leimingyun 翻译通道配置为备用通道,也就是
translate.service.standby.service=leimingyun
translate.service.standby.config={"domain":"http://12.12.12.12:80"}
有关备用翻译通道的详细说明,可以参考: http://translate.zvo.cn/404947.html
3. 进行指定语种分流策略
然后增加配置进行指定,指定英文、法语 的glm支持的语种走glm,不支持的走leimingyun通道
#
# 主翻译通道支持的语种
#
# 这里出现的语种,要翻译接口 form、to 都匹配,才会触发
# 如果不匹配,则自动转到 translate.service.standby.service 备用翻译通道来进行
# from 中的第一个是auto,代表的是不传入from参数有翻译通道自己来识别语种时,默认就是 auto
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"]
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"]
# 指定 language.json 返回的语种列表是使用哪个翻译通道的,
# 示例中主通道用的是 glm, 备用通道用的是 leimingyun ,这里的值要么设置为 glm,要么设置为leimingyun ,默认不设置则是主翻译通道,也就是 glm
translate.service.set.language.service=leimingyun
测试
访问 /language.json 即可看到效果
通过 /translate.json 翻译一个繁体中文试试,看是否走了备用通道成功进行翻译