文章目录
- 1. 申请讯飞机器翻译API
- 1.1 讯飞开放平台(机器翻译)
- 1.2 点击免费试用后进入个人控制台界面
- 1.3 点击购买字符量(新用户首次免费200万字符)
- 1.4 回到个人控制台界面查看获得的字符量
- 2.推荐一个好用的Python库 [JioNLP]
- 2.1 安装JioNLP库
- 2.2 JioNLP中文文档(很nice的工作)
- 3. Python 调用 API 进行翻译
- 3.1 关键函数
- 3.2 完整代码
- 返回结果
- 3.3 个人控制台剩余字符串发生变化
- 温馨提示
- 1、 如果没有购买字符就会报以下的错误
- 2、 API 报错查询
1. 申请讯飞机器翻译API
1.1 讯飞开放平台(机器翻译)
科大讯飞开放平台机器翻译官方文档链接
1.2 点击免费试用后进入个人控制台界面
右上角为提供的API等信息(这是我个人的, 没账号的要自己注册)
服务接口认证信息
APPID ca2af9b3
APISecret Y2IzMTc4YzU4Mjk4MDkzMTRkMWNlM2I0
APIKey 1ec414e887cae842209fe2035a862832
*SDK调用方式只需APPID。APIKey或APISecret适用于WebAPI调用方式。
1.3 点击购买字符量(新用户首次免费200万字符)
1.4 回到个人控制台界面查看获得的字符量
2.推荐一个好用的Python库 [JioNLP]
2.1 安装JioNLP库
pip install jionlp
Github 链接: dongrixinyu/JioNLP
2.2 JioNLP中文文档(很nice的工作)
Welcome to the JioNLP wiki
3. Python 调用 API 进行翻译
3.1 关键函数
def translate_back_2(long_text):
xunfei_api = jio.XunfeiApi(
appkey_obj_list=[{
"appid": "ca2af9b3",
"secret": "Y2IzMTc4YzU4Mjk4MDkzMTRkMWNlM2I0",
"api_key": "1ec414e887cae842209fe2035a862832",
}])
#回译增强
print(xunfei_api.__doc__) # 查看接口说明
apis = [xunfei_api]
back_trans = jio.BackTranslation(mt_apis=apis)
en_trans = xunfei_api(long_text) # 使用接口做单次调用
print('原始中文:', long_text)
print('英文翻译:', en_trans)
result = back_trans(long_text)
print('回译中文:', result)
3.2 完整代码
import jionlp as jio
def translate_back_2(long_text):
xunfei_api = jio.XunfeiApi(
appkey_obj_list=[{
"appid": "ca2af9b3",
"secret": "Y2IzMTc4YzU4Mjk4MDkzMTRkMWNlM2I0",
"api_key": "1ec414e887cae842209fe2035a862832",
}])
#回译增强
print(xunfei_api.__doc__) # 查看接口说明
apis = [xunfei_api]
back_trans = jio.BackTranslation(mt_apis=apis)
en_trans = xunfei_api(long_text) # 使用接口做单次调用
print('原始中文:', long_text)
print('英文翻译:', en_trans)
result = back_trans(long_text)
print('回译中文:', result)
if __name__ == '__main__':
text = '饿了么凌晨发文将推出新功能,用户可选择是否愿意多等外卖员 5 分钟,你愿意多等这 5 分钟吗?'
translate_back_2(text)
返回结果
C:\ProgramData\Anaconda3\python.exe E:/DL/CSDN-blog/pyqt5_ui/gen_data.py
# jionlp - 微信公众号: JioNLP Github: `https://github.com/dongrixinyu/JioNLP`.
# jiojio - `http://www.jionlp.com/jionlp_online/cws_pos` is available for online trial.
讯飞免费的翻译 api 的调用接口
参考文档:https://www.xfyun.cn/doc/nlp/xftrans/API.html
https://www.xfyun.cn/services/xftrans
支持语言:中文(cn)、英文(en)、日文(ja)、法文(fr)、西班牙语(es)、
俄语(ru)
限制条件:
1、一年 200 万字符免费
2、字符数以翻译的源语言字符长度为标准计算。一个汉字、英文字母、标点符号等,均计为一个字符。
3、单次请求长度控制在256个字符以内。
4、不支持源语言语种自动识别
Args:
from_lang: 输入源语言
to_lang: 输入目标语言
Return:
str: 目标语言的结果字符串
Examples:
>>> xunfei_api = XunfeiApi(
appkey_obj_list=[{
"appid": "5f5846b1", # 应用ID(到控制台获取)
# 接口APIKey(到控制台机器翻译服务页面获取)
"api_key": "52465bb3de9a258379e6909c4b1f2b4b",
# 接口APISercet(到控制台机器翻译服务页面获取)
"secret": "b21fdc62a7ed0e287f31cdc4bf4ab9a3"}])
>>> text = '她很好看。'
>>> res = xunfei_api(text, from_lang='cn', to_lang='en')
>>> print(res)
# She's good-looking.
原始中文: 饿了么凌晨发文将推出新功能,用户可选择是否愿意多等外卖员 5 分钟,你愿意多等这 5 分钟吗?
英文翻译: Ele.me will launch a new feature in the early morning. Users can choose whether they want to wait for the delivery staff for 5 minutes more. Are you willing to wait for 5 minutes more?
# jionlp - 微信公众号: JioNLP Github: `https://github.com/dongrixinyu/JioNLP`.
# jionlp - 微信公众号: JioNLP Github: `https://github.com/dongrixinyu/JioNLP`.
# jiojio - `http://www.jionlp.com/jionlp_online/cws_pos` is available for online trial.
# jiojio - `http://www.jionlp.com/jionlp_online/cws_pos` is available for online trial.
XunfeiApi totally costs 4.282 s.
total totally costs 8.172 s.
回译中文: ['饿了么将在凌晨推出新功能。用户可以选择是否愿意多等5分钟送货人员。你愿意多等5分钟吗?', '你们饿了吗?一大早就会推出一个新功能。用户可以选择是否要再等5分钟才能叫外卖。您还要再等5分钟吗?', '你肚子饿了吗?凌晨发的一篇文章中出现了一个新功能,用户可以选择是否要等外卖员5分钟以上。你想等这5分钟以上吗?', '饿了么一大早发消息推出新功能,用户可以选择是否要再等5分钟外卖,你要等这5分钟吗?', '你是不是饿了?凌晨,将推出一项新功能。用户可以选择是否愿意再等5分钟送货员。你愿意再等5分钟吗?']
Process finished with exit code 0
3.3 个人控制台剩余字符串发生变化
温馨提示
1、 如果没有购买字符就会报以下的错误
2024-02-26 13:19:09 ERROR wrapper: Http请求失败,状态码:400,错误信息:
{"code":11200,"message":"licc failed","sid":"its000d8e0e@dx18de3da4b28a11d902"}
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\jionlp\textaug\back_translation\translation_api.py", line 82, in wrapper
f = func(self, *args, **kargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jionlp\textaug\back_translation\translation_api.py", line 698, in __call__
raise Exception(exception_string)
Exception: Http请求失败,状态码:400,错误信息:
{"code":11200,"message":"licc failed","sid":"its000d8e0e@dx18de3da4b28a11d902"}
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "E:/DL/CSDN-blog/pyqt5_ui/gen_data.py", line 30, in <module>
print(xunfei_api(text)) # 使用接口做单次调用
File "C:\ProgramData\Anaconda3\lib\site-packages\jionlp\textaug\back_translation\translation_api.py", line 55, in wrapper
f = func(self, *args, **kargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jionlp\textaug\back_translation\translation_api.py", line 65, in wrapper
f = func(self, *args, **kargs)
File "C:\ProgramData\Anaconda3\lib\site-packages\jionlp\textaug\back_translation\translation_api.py", line 101, in wrapper
raise Exception(err)
Exception: Http请求失败,状态码:400,错误信息:
{"code":11200,"message":"licc failed","sid":"its000d8e0e@dx18de3da4b28a11d902"}
2、 API 报错查询
SDK&API 错误码查询链接