大模型翻译 API 简介
概念解释
大型模型翻译:翻译的好助手,使用此服务可以完成翻译、润色、扩写等功能。API可以处理各种复杂的语言结构、词汇和语境,提供高质量的翻译结果。 同时,可以根据用户的需 求和偏好进行定制化的翻译。用户可以通过调整参数、提供上下文信息或者进行反馈,使翻译结果更符合个人或特 定领域的要求,从而实现更加精准、个性化的翻译体验。
说明
Hi,您好,欢迎使用有道智云翻译API接口服务。如果您想快速体验服务,建议您前往
翻译体验中心
或者在体验中心右下侧找到小程序二维码,扫描进行体验。
本文档主要针对需要集成HTTP API的技术开发工程师,详细描述大模型翻译能力相关的技术内容。
如果您有与我们商务合作的需求,可以通过以下方式联系我们:
商务邮箱:
AIcloud_Business@corp.youdao.com
如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:
客服QQ:1906538062
智云翻译技术交流QQ 1群: 652880659
智云翻译技术交流QQ 2群: 669384425
智云翻译技术交流QQ 3群: 807539209
智云翻译技术交流QQ 4群: 936752411
联系邮箱:
zhiyun@corp.youdao.com
温馨提示:
-
本文档主要针对开发人员,接入测试前需要获取
应用ID
和
应用密钥
,请按照
新手指南
获取。
-
平台向每个账户赠送10元的体验金,实名再赠送40元体验金,供用户集成前测试所用,具体资费规则详见
大模型翻译服务报价
。
接口说明
大模型翻译API接口提供有道的翻译服务,包含了中英翻译、润色、扩写功能。您只需要通过调用大模型翻译API,传入待处理的文本,并指定要翻译的源语言(支持源语言语种自动检测)和目标语言种类,就可以得到相应的翻译结果。
大模型翻译API HTTPS地址:
https://openapi.youdao.com/llm_trans
协议须知
调用方在集成大模型翻译API时,请遵循以下规则。
规则
|
描述
|
传输方式
|
HTTPS
|
请求方式
|
GET/POST
|
字符编码
|
统一使用UTF-8 编码
|
请求格式
|
表单
|
响应格式
|
text/event-stream
|
接口调用参数
调用API需要向接口发送以下字段来访问服务。
字段名
|
类型
|
含义
|
必填
|
备注
|
i
|
text
|
待翻译文本
|
True
|
必须是UTF-8编码,限制5000字符
|
prompt
|
text
|
提示词
|
False
|
必须是UTF-8编码,限制1200字符、400单词
|
from
|
text
|
源语言
|
True
|
参考下方支持语言 (可设置为auto)
|
to
|
text
|
目标语言
|
True
|
参考下方支持语言
|
streamType
|
text
|
流式返回类型
|
False
|
参考下方 流式返回类型
|
appKey
|
text
|
应用ID
|
True
|
可在
应用管理
查看
|
salt
|
text
|
随机字符串,可使用UUID进行生产
|
True
|
uuid (可使用uuid生成)
|
sign
|
text
|
签名
|
True
|
sha256(应用ID+input+salt+curtime+应用密钥)
|
signType
|
text
|
签名类型
|
True
|
v3
|
curtime
|
text
|
当前UTC时间戳(秒)
|
True
|
TimeStamp
|
handleOption
|
text
|
处理模式选项
|
False
|
参考下方 处理模式选项
|
polishOption
|
text
|
润色选项
|
False
|
参考下方 润色选项
|
expandOption
|
text
|
扩写选项
|
False
|
参考下方 扩写选项
|
签名生成方法如下:
signType=v3;
sign=sha256(
应用ID
+
input
+
salt
+
curtime
+
应用密钥
);
其中,input的计算方式为:
input
=
i前10个字符
+
i长度
+
i后10个字符
(当i长度大于20)或
input
=
i字符串
(当i长度小于等于20);
不同语言获取时间戳,请参看
此链接
如果对签名有疑问,可以参看各语言demo。
处理模式选项
handleOption取值
|
含义
|
0
|
使用通用翻译模型处理请求,通用翻译模型仅提供翻译功能,参数中的 prompt 仅对通用翻译模型生效
|
1
|
使用专业翻译模型处理请求,专业翻译模型可提供翻译、润色、扩写功能,注意:当用户指定from、to为具体语种时,效果更好
|
2
|
使用润色扩写模型处理请求,润色扩写模型可提供翻译、润色、扩写功能,并且最终翻译结果优于专业翻译模型,推荐使用。注意:当用户指定from、to为具体语种时,效果更好
|
-
“handleOption”参数在handleOption、polishOption、expandOption中优先级最高,即如果需要润色和扩写功能时,需要设置handleOption = “1” 或者 “2”。
润色选项
polishOption取值
|
含义
|
polishOption取值
|
含义
|
0
|
不润色
|
1
|
专业化润色
|
2
|
专业化翻译
|
3
|
口语化润色
|
4
|
口语化翻译
|
5
|
简洁化润色
|
6
|
简洁化翻译
|
7
|
丰富化润色
|
8
|
丰富化翻译
|
9
|
计算机领域润色
|
10
|
计算机领域翻译
|
11
|
医学领域润色
|
12
|
医学领域翻译
|
13
|
生物领域润色
|
14
|
生物领域翻译
|
15
|
机械领域润色
|
16
|
机械领域翻译
|
扩写选项
expandOption取值
|
含义
|
0
|
不扩写
|
1
|
论文发表
|
2
|
正式邮件
|
-
润色和扩写不会同时生效,如果润色参数和扩写参数均存在时,润色优先。
流式返回类型
streamType取值
|
含义
|
increment
|
译文文本按照“增量形式”返回,默认按此方式返回。
|
full
|
译文文本按照“全量形式”返回。
|
all
|
同时返回“增量形式”、“全量形式”译文。
|
-
“增量形式”,“全量形式”可参考下方输出结果理解。如果使用专业翻译模型和润色扩写模型,仅支持增量返回。
输出结果
正常结果的格式
部分
|
event类型
|
data结构
|
说明
|
第1部分
|
begin
|
一个data示例:
{
"requestId": "1",
"type": "zh-CHS2en"
}
其中:
- type字段表示翻译语言方向
|
一个正常返回结果中,有且仅有一个begin event。
|
第2部分
|
message
|
一个data示例:
{
"transFull": "The weather",
"transIncre": "her"
}
其中:
- transFull字段表示“全量形式”译文
- transIncre字段表示“增量形式”译文
|
一个正常返回结果中,可能会有一个或一个以上的message event。
|
第3部分
|
end
|
一个data示例:
{
"requestId": "1",
"type": "zh-CHS2en",
"eventTokenUsage": {
"inputToken": 5,
"outputToken": 7,
"totalToken": 12
}
}
其中:
- type表示翻译的语言方向
- eventTokenUsage中记录了token的用量
- inputToken表示输入token用量(prompt和i的token用量合计)
- output表示输出token用量
- totalToken表示总计token用量
|
一个正常返回结果中,有且仅有一个end event。
|
正常结果的示例
示例一:“增量形式”译文
event:begin
data:{"requestId":"11","type":"zh-CHS2en"}
event:message
data:{"transFull":null,"transIncre":"The"}
event:message
data:{"transFull":null,"transIncre":" w"}
event:message
data:{"transFull":null,"transIncre":"eat"}
event:message
data:{"transFull":null,"transIncre":"her"}
event:message
data:{"transFull":null,"transIncre":" is"}
event:message
data:{"transFull":null,"transIncre":" really"}
event:message
data:{"transFull":null,"transIncre":" nice"}
event:message
data:{"transFull":null,"transIncre":" today"}
event:message
data:{"transFull":null,"transIncre":"."}
event:end
data:{"requestId":"11","type":"zh-CHS2en","eventTokenUsage":{"inputToken":5,"outputToken":7,"totalToken":12}}
示例二:“全量形式”译文
event:begin
data:{"requestId":"12","type":"zh-CHS2en"}
event:message
data:{"transFull":"The","transIncre":null}
event:message
data:{"transFull":"The w","transIncre":null}
event:message
data:{"transFull":"The weat","transIncre":null}
event:message
data:{"transFull":"The weather","transIncre":null}
event:message
data:{"transFull":"The weather is","transIncre":null}
event:message
data:{"transFull":"The weather is really","transIncre":null}
event:message
data:{"transFull":"The weather is really nice","transIncre":null}
event:message
data:{"transFull":"The weather is really nice today","transIncre":null}
event:message
data:{"transFull":"The weather is really nice today.","transIncre":null}
event:end
data:{"requestId":"12","type":"zh-CHS2en","eventTokenUsage":{"inputToken":5,"outputToken":7,"totalToken":12}}
示例三:“增量形式”译文 + “全量形式”译文
event:begin
data:{"requestId":"13","type":"zh-CHS2en"}
event:message
data:{"transFull":"The","transIncre":"The"}
event:message
data:{"transFull":"The w","transIncre":" w"}
event:message
data:{"transFull":"The weat","transIncre":"eat"}
event:message
data:{"transFull":"The weather","transIncre":"her"}
event:message
data:{"transFull":"The weather is","transIncre":" is"}
event:message
data:{"transFull":"The weather is really","transIncre":" really"}
event:message
data:{"transFull":"The weather is really nice","transIncre":" nice"}
event:message
data:{"transFull":"The weather is really nice today","transIncre":" today"}
event:message
data:{"transFull":"The weather is really nice today.","transIncre":"."}
event:end
data:{"requestId":"13","type":"zh-CHS2en","eventTokenUsage":{"inputToken":5,"outputToken":7,"totalToken":12}}
异常结果的格式
一个异常返回的结果由以下三个部分组成:
部分
|
event类型
|
data结构
|
说明
|
第1部分
|
begin
|
一个data示例:
{
"requestId": "1",
"type": "zh-CHS2en"
}
其中:
- type字段表示翻译语言方向,在异常返回时,type有可能是null
|
一个异常返回结果中,有且仅有一个begin event。
|
第2部分
|
message
|
一个data示例:
{
"transFull": "The weather",
"transIncre": "her"
}
其中:
- transFull字段表示“全量形式”译文
- transIncre字段表示“增量形式”译文
|
一个异常返回结果中,可能会有零个、一个或一个以上的message event。
|
第3部分
|
error
|
一个data示例:
{
"code": "40",
"msg": "不支持的语言方向!",
"eventTokenUsage": {
"inputToken": 2,
"outputToken": 3,
"totalToken": 5
}
}
其中:
- code表示错误码
- msg表示错误信息
- eventTokenUsage中记录了token的用量
- inputToken表示输入token用量(prompt和i的token用量合计)
- output表示输出token用量
- totalToken表示总计token用量
当异常返回时,可能发生token使用,也可能没有token使用。
|
一个异常返回结果中,有且仅有一个error event。
|
异常结果的示例
event:begin
data:{"requestId":"14","type":null}
event:error
data:{"code":"40","msg":"不支持的语言方向!","eventTokenUsage":{"inputToken":0,"outputToken":0,"totalToken":0}}
支持语言
下表为各语言对应代码:
英文名
|
中文名
|
代码
|
English
|
英语
|
en
|
Chinese
|
简体中文
|
zh-CHS
|
auto
|
自动识别
|
auto
|
注意:
其中auto可以识别中文、英文,其他语种无法识别。
服务配置
单次查询最大字符数
|
并发限制
|
支持语言
|
5000
|
5qps
|
中、英
|
错误代码列表
错误码
|
含义
|
101
|
缺少必填的参数,首先确保必填参数齐全,然后确认参数书写是否正确。
|
102
|
不支持的语言类型
|
103
|
翻译文本过长
|
104
|
不支持的API类型
|
105
|
不支持的签名类型
|
106
|
不支持的响应类型
|
107
|
不支持的传输加密类型
|
108
|
应用ID无效,注册账号,登录后台创建应用并完成绑定,可获得应用ID和应用密钥等信息
|
109
|
batchLog格式不正确
|
110
|
无相关服务的有效应用,应用没有绑定服务应用,可以新建服务应用。注:某些服务的翻译结果发音需要tts服务,需要在控制台创建语音合成服务绑定应用后方能使用。
|
111
|
开发者账号无效
|
112
|
请求服务无效
|
113
|
q不能为空
|
114
|
不支持的图片传输方式
|
116
|
strict字段取值无效,请参考文档填写正确参数值
|
201
|
解密失败,可能为DES,BASE64,URLDecode的错误
|
202
|
签名检验失败,如果确认应用ID和应用密钥的正确性,仍返回202,一般是编码问题。请确保翻译文本
q
为UTF-8编码.
|
203
|
访问IP地址不在可访问IP列表
|
205
|
请求的接口与应用的平台类型不一致,确保接入方式(Android SDK、IOS SDK、API)与创建的应用平台类型一致。如有疑问请参考
入门指南
|
206
|
因为时间戳无效导致签名校验失败
|
207
|
重放请求
|
301
|
辞典查询失败
|
302
|
翻译查询失败
|
303
|
服务端的其它异常
|
304
|
翻译失败,请联系技术同学
|
308
|
rejectFallback参数错误
|
309
|
domain参数错误
|
310
|
未开通领域翻译服务
|
401
|
账户已经欠费,请进行账户充值
|
402
|
offlinesdk不可用
|
411
|
访问频率受限,请稍后访问
|
412
|
长请求过于频繁,请稍后访问
|
2
|
原文为空
|
20
|
原文超过长度限制
|
30
|
暂时无法完成翻译,请稍后重试!
|
40
|
不支持的语言方向
|
2101
|
没有有效的底层服务节点
|
3401
|
涉及敏感内容
|
4001
|
prompt长度超过限制
|
500
|
未知错误,请提供详细数据信息,联系技术人员协助排查
|
常用语言 Demo
Java 示例
大模型翻译 Java demo
Python3 示例
大模型翻译 python3 demo
go 示例
大模型翻译 go demo