当前位置:   article > 正文

调用 科大讯飞机器翻译API 进行中英文翻译(超详细教程)_科大讯飞翻译api

科大讯飞翻译api

1. 申请讯飞机器翻译API

1.1 讯飞开放平台(机器翻译)

科大讯飞开放平台机器翻译官方文档链接

在这里插入图片描述

1.2 点击免费试用后进入个人控制台界面

右上角为提供的API等信息(这是我个人的, 没账号的要自己注册)

服务接口认证信息
APPID       ca2af9b3
APISecret      Y2IzMTc4YzU4Mjk4MDkzMTRkMWNlM2I0
APIKey     1ec414e887cae842209fe2035a862832

*SDK调用方式只需APPID。APIKey或APISecret适用于WebAPI调用方式。
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

在这里插入图片描述

1.3 点击购买字符量(新用户首次免费200万字符)

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

1.4 回到个人控制台界面查看获得的字符量

在这里插入图片描述

2.推荐一个好用的Python库 [JioNLP]

2.1 安装JioNLP库

pip install jionlp
  • 1

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16

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)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

返回结果

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

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

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"}

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

2、 API 报错查询

SDK&API 错误码查询链接

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/619279
推荐阅读
相关标签
  

闽ICP备14008679号