帮助与文档 > 产品文档 > 自然语言翻译服务 > API文档 > 大模型翻译
大模型翻译

大模型翻译 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 同时返回“增量形式”、“全量形式”译文。
  • “增量形式”,“全量形式”可参考下方输出结果理解。如果使用专业翻译模型和润色扩写模型,仅支持增量返回。

输出结果

  • 输出结果为流式的ServerSentEvent。

正常结果的格式

部分 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