大型模型翻译:翻译的好助手,使用此服务可以完成翻译、润色、扩写等功能。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 和 应用密钥 ,请按照新手指南 获取。大模型翻译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 | 有道子曰翻译pro版本(14B)处理请求,通用pro翻译模型仅提供翻译功能,参数中的 prompt 仅对通用翻译模型(handleOption=0/3)生效 |
| 1 | 专业翻译模型处理请求,专业翻译模型可提供翻译、润色、扩写功能,注意:当用户指定from、to为具体语种时,效果更好 |
| 2 | 润色扩写模型处理请求,润色扩写模型可提供翻译、润色、扩写功能,并且最终翻译结果优于专业翻译模型,推荐使用。注意:当用户指定from、to为具体语种时,效果更好 |
| 3 | 有道子曰翻译lite版本(1.5B)处理请求,lite翻译模型仅提供翻译功能,参数中的 prompt 仅对通用翻译模型(handleOption=0/3)生效 |
| 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}}
下表为各语言对应代码:
| 中文名 | 代码 |
|---|---|
| 简体中文 | zh-CHS |
| 英语 | en |
| 自动识别 | 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 | 未知错误,请提供详细数据信息,联系技术人员协助排查 |