- 最新动态
- 产品介绍
- 计费说明
- 快速入门
- 用户指南
- API参考
- SDK参考
-
常见问题
- 如何通过API Explorer获取用户Token
- 如何通过Postman获取用户Token
- 调用自然语言处理的API失败时怎么处理?
- 有哪些途径可以使用自然语言处理的API?
- 如何开通自然语言服务?
- 自然语言处理是否支持私有化部署?
- 自然语言处理是否支持离线使用?
- 自然语言处理服务有哪些调用限制?
- 自然语言处理基础版和领域版的区别
- Token消息体中user name,domain name和project name分别指的是什么?
- 区域与可用区域
- 自然语言处理服务需要开通什么权限?
- 调用文本翻译服务时,为何报错“非法token”?
- 如何查看NLP套餐用量明细?
- 为什么报APIG.0101?
- 如何使自然语言处理停止计费?
- 自然语言处理服务支持哪几种语言?
- 获取Token失败怎么办?
- 账密报错“The username or password is wrong.”
- 如何查看NLP折扣套餐到期日?
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
文档翻译任务创建
功能介绍
由于文档翻译会需要较长的时间,因此翻译是异步的,也即接口分为创建翻译任务和查询任务状态两个接口。
创建翻译任务接口创建任务完成后返回,然后用户通过调用查询任务状态接口来获得翻译状态和临时URL。 用户可以使用临时URL下载翻译好的文件,每个临时URL有效期为10分种。翻译结果会保存24小时(从翻译完成的时间算起)。24小时后如果再访问,将会返回 “task id is not found”错误。
文档翻译任务创建接口用于提交文档翻译任务,其中要翻译的文档保存在用户的OBS桶中。用户使用文档翻译服务时,服务需要拥有读取用户OBS桶权限,授权方法见配置OBS访问权限。当前仅支持翻译“docx”、“pptx”和“txt”格式的文档,其中txt格式文档只支持UTF-8编码格式。
文档翻译任务创建接口具体Endpoint请参见终端节点。
调用华为云NLP服务会产生费用,本API按文档页数阶梯计费,文本翻译不支持套餐包抵扣,用户可以在自然语言处理价格计算器价格详情页了解具体计费说明。
本API调用限制为2次/秒。
调试
您可以在API Explorer中调试该接口。
前提条件
在使用本API之前,需要您完成服务申请和认证鉴权,具体操作流程请参见申请服务和认证鉴权章节。
用户首次使用需要先申请开通。服务只需要开通一次即可,后面使用时无需再次申请。如未开通服务,调用服务时会提示ModelArts.4204报错,请在调用服务前先进入控制台开通服务,并注意开通服务区域与调用服务的区域保持一致。
URI
- URI格式
POST /v1/{project_id}/machine-translation/file-translation/jobs
- 参数说明
表1 URI参数说明 参数名
必选
说明
project_id
是
项目ID。获取方法请参见获取项目ID。
请求消息
参数名 |
参数类型 |
必选 |
说明 |
---|---|---|---|
url |
String |
是 |
存放在OBS的文档文件路径,私密文件推荐使用临时授权URL调用服务,如何获取OBS文件URL和临时授权URL请参见配置OBS访问权限。OBS的region要和请求服务的region保持一致,region不一致则OBS不可用,即使obs是公开访问权限。存放在OBS的文档文件名必须是英文字母。 |
from |
String |
是 |
翻译原语言,文档翻译服务当前仅支持中英互译。 |
to |
String |
是 |
翻译目标语言,文档翻译服务当前仅支持中英互译。 |
type |
String |
是 |
文档格式,当前仅支持翻译“docx”、“pptx”和“txt”格式的文档,其中txt格式文档只支持UTF-8编码格式。 |
语言(from) |
语言(to) |
说明 |
---|---|---|
zh |
en |
中文翻译为英文。 |
en |
zh |
英文翻译为中文。 |
响应消息
请求示例
- 请求示例(创建文档翻译任务)
POST https://{endpoint}/v1/{project_id}/machine-translation/file-translation/jobs Request Header: Content-Type:application/json X-Auth-Token: MIINRwYJKoZIhvcNAQcCoIINODCCDTQCAQExDTALBglghkgBZQMEAgEwgguVBgkqhkiG... Request Body: { "url": "https://****.obs.cn-north-4.huawei.com/***.docx", "from": "zh", "to": "en", "type":"docx" }
- Python3语言请求代码示例(创建文档翻译任务)
# -*- coding: utf-8 -*- # 此demo仅供测试使用,建议使用sdk。需提前安装requests,执行pip install requests import requests import json def nlp_demo(): url = 'https://{endpoint}/v1/{project_id}/machine-translation/file-translation/jobs' # endpoint和project_id需替换 token = '用户对应region的token' header = { 'Content-Type': 'application/json', 'X-Auth-Token': token } body = { 'url': 'https://****.obs.cn-north-4.huawei.com/***.docx', 'from': 'zh', 'to': 'en', 'type':'docx' } resp = requests.post(url, data=json.dumps(body), headers=header) print(resp.json()) if __name__ == '__main__': nlp_demo()
- Java语言请求代码示例(创建文档翻译任务)
import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.HttpURLConnection; import java.net.URL; /** * 此demo仅供测试使用,建议使用sdk */ public class NLPDemo { public void nlpDemo() { try { //endpoint和projectId需要替换成实际信息。 URL url = new URL("https://{endpoint}/v1/{project_id}/machine-translation/file-translation/jobs"); String token = "对应region的token"; HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setRequestMethod("POST"); connection.setDoInput(true); connection.setDoOutput(true); connection.addRequestProperty("Content-Type", "application/json"); connection.addRequestProperty("X-Auth-Token", token); //输入参数 //mtUrl请按照API说明,将文档上传至OBS后获取对应URL地址 String mtUrl = "https://*.obs.cn-north-4.myhuaweicloud.com/*.docx"; String from = "en"; String to = "zh"; String body = "{\"url\":\"" + mtUrl + "\" ,\"from\":\"" + from + "\" ,\"to\":\"" + to + "\" ,\"type\":\"docx\"}"; OutputStreamWriter osw = new OutputStreamWriter(connection.getOutputStream(), "UTF-8"); osw.append(body); osw.flush(); InputStream is = connection.getInputStream(); BufferedReader br = new BufferedReader(new InputStreamReader(is, "UTF-8")); while (br.ready()) { System.out.println(br.readLine()); } } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { NLPDemo nlpDemo = new NLPDemo(); nlpDemo.nlpDemo(); } }
响应示例
- 成功响应示例
{ "job_id": "567e6536-****-****-****-826321939656" }
- 失败响应示例
{ "error_code": "NLP.0101", "error_msg": "Authentication failed. Verify the token." }