# -*- coding: utf-8 -*- """ 机器翻译 """ import re import sys import math import time from .base import AipBase from .base import base64 from .base import json from .base import urlencode from .base import quote class AipMt(AipBase): """ 机器翻译 """ __pictransV1Url = 'https://aip.baidubce.com/file/2.0/mt/pictrans/v1' __texttransV1Url = 'https://aip.baidubce.com/rpc/2.0/mt/texttrans/v1' __texttransWithDictV1Url = 'https://aip.baidubce.com/rpc/2.0/mt/texttrans-with-dict/v1' __docTranslationCreateV2Url = 'https://aip.baidubce.com/rpc/2.0/mt/v2/doc-translation/create' __docTranslationQueryV2Url = 'https://aip.baidubce.com/rpc/2.0/mt/v2/doc-translation/query' __speechTranslationV2Url = 'https://aip.baidubce.com/rpc/2.0/mt/v2/speech-translation' def texttransV1(self, languageFrom, to, q, options=None): """ 文本翻译-通用版 接口使用说明文档: https://ai.baidu.com/ai-doc/MT/4kqryjku9 """ options = options or {} data = {} data['from'] = languageFrom data['to'] = to data['q'] = q data.update(options) return self._request(self.__texttransV1Url, json.dumps(data, ensure_ascii=False), { 'Content-Type': 'application/json', }) def texttransWithDictV1(self, languageFrom, to, q, options=None): """ 文本翻译-词典版 接口使用说明文档: https://ai.baidu.com/ai-doc/MT/nkqrzmbpc """ options = options or {} data = {} data['from'] = languageFrom data['to'] = to data['q'] = q data.update(options) return self._request(self.__texttransWithDictV1Url, json.dumps(data, ensure_ascii=False), { 'Content-Type': 'application/json', }) def docTranslationCreateV2(self, languageFrom, to, input, options=None): """ 文档翻译 接口使用说明文档: https://ai.baidu.com/ai-doc/MT/Xky9x5xub """ options = options or {} data = {} data['languageFrom'] = languageFrom data['to'] = to data['input'] = input data.update(options) return self._request(self.__docTranslationCreateV2Url, json.dumps(data, ensure_ascii=False), { 'Content-Type': 'application/json', }) def docTranslationQueryV2(self, id, options=None): """ 文档翻译-文档状态查询 接口使用说明文档: https://ai.baidu.com/ai-doc/MT/Xky9x5xub """ options = options or {} data = {} data['id'] = id data.update(options) return self._request(self.__docTranslationQueryV2Url, json.dumps(data, ensure_ascii=False), { 'Content-Type': 'application/json', }) def speechTranslationV2(self, languageFrom, to, voice, format, options=None): """ 语音翻译 接口使用说明文档: https://ai.baidu.com/ai-doc/MT/el4cmi76f """ options = options or {} data = {} data['from'] = languageFrom data['to'] = to data['voice'] = base64.b64encode(voice).decode() data['format'] = format data.update(options) return self._request(self.__speechTranslationV2Url, json.dumps(data, ensure_ascii=False), { 'Content-Type': 'application/json', })