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

文章目录

  • 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 错误码查询链接

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/412832.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【java】14:final 关键字

基本介绍&#xff1a; Final01.java final中文意思:最后的,最终的. final可以修饰类、属性、方法和局部变量. 在某些情况下,程序员可能有以下需求&#xff0c;就会使用到final:1当不希望类被继承时,可以用final修饰.【案例演示】 2)当不希望父类的某个方法被子类覆盖/重写(over…

什么是SSH端口转发?

目录 前言&#xff1a; 一、SSH端口转发的概念 二、SSH端口转发的类型 2.1 本地端口转发 2.2 远程端口转发 2.3 动态端口转发 三、SSH端口转发的用途 3.1 安全远程访问 3.2 跨越网络限制 3.3 加密流量传输 3.4 跨越 NAT 网络 3.5 安全代理 四、总结 前言&#xff…

现代信号处理学习笔记(二)参数估计理论

参数估计理论为我们提供了一套系统性的工具和方法&#xff0c;使我们能够从样本数据中推断总体参数&#xff0c;并评估估计的准确性和可靠性。这些概念在统计学和数据分析中起着关键的作用。 目录 前言 一、估计子的性能 1、无偏估计与渐近无偏估计 2、估计子的有效性 两个…

基于深度学习的故障诊断GAN之生成对抗网络

这个图是作者当时研究CGAN画的&#xff0c;从代码流程来看&#xff0c;GAN和CGAN是一样的&#xff0c;两者的区别在于&#xff0c;GAN输入噪声和原始图片&#xff0c;CGAN输入噪声、条件信息&#xff08;标签&#xff09;和原始图片&#xff0c;大家可以仔细研究代码&#xff0…

P0故障应对策略之:为什么P0故障难以排查

与大模型探讨P0故障 P0级故障&#xff0c;作为系统中最严重的故障&#xff0c;它们的发生往往带来灾难性的后果和巨大的损失。同时&#xff0c;这类故障的排查与修复也往往复杂而棘手&#xff0c;对整个团队的经验、综合能力、应急处置流程都是巨大的挑战。 排查P0级故障的过程…

简单实现文字滚动效果-CSS版本

先看看效果 话不多说直接上代码 <template><div class"main"><div class"scroll-region"><div class"swiper-scroll-content"><span class"list-btn" v-for"(item, index) in overviewList" :…

IDEA中 @SpringBootApplication 多个注解无法引入依赖

终于解决了&#xff01;&#xff01;&#xff01; cd到报红项目的根目录&#xff0c;然后输入mvn idea:idea就行了。

新的一年,如何优化企业库存管理?

随着社会的发展和经济的不断增长&#xff0c;库存管理成为了企业运营中非常重要的一环。库存作为企业的资产之一&#xff0c;直接影响着企业的盈利能力和竞争优势。因此&#xff0c;对企业库存进行科学的分析和管理&#xff0c;成为了确保企业持续稳定发展的必要手段之一。企业…

为什么深度学习的效果更好?

导 读 深度学习是机器学习的一个子集&#xff0c;已成为人工智能领域的一项变革性技术&#xff0c;在从计算机视觉、自然语言处理到自动驾驶汽车等广泛的应用中取得了显着的成功。 深度学习的有效性并非偶然&#xff0c;而是植根于几个基本原则和进步&#xff0c;这些原则和进…

spring框架Bean的作用域?对需要保持会话状态的bean应使用prototype作用域?为啥?

当一个bean被定义为"prototype"作用域时&#xff0c;每次请求该bean时都会创建一个新的实例&#xff0c;而不是像"singleton"作用域那样共享同一个实例。 对于需要保持会话状态的bean&#xff0c;如果使用"singleton"作用域&#xff0c;会导致所…

Dubbo知识点大全

“ 分布式应用场景有高并发,高可扩展和高性能的要求。还涉及到,序列化/反序列化,网络,多线程以及设计模式的问题。幸好 Dubbo 框架将上述知识进行了封装,让程序员能够把注意力放到业务上。 概念和架构 Provider:暴露服务的服务提供方Consumer:调用远程服务消费方Regist…

Linux系统---nginx(1)服务

目录 一.Nginx概述 1.定义 2.Nginx模块作用 &#xff08;1&#xff09;main模块 &#xff08;2&#xff09;stream服务模块 &#xff08;3&#xff09;邮件服务模块 &#xff08;4&#xff09;第三方模块 &#xff08;5&#xff09;events模块 &#xff08;6&#xff0…

智慧公厕的目的和意义是什么?

智慧公厕是近年来城市建设中的一项重要举措&#xff0c;其目的在于实现公共厕所的智慧化管理&#xff0c;为市民群众提供更好的服务体验&#xff0c;助力智慧城市和数字环卫的发展&#xff0c;提升社会公共卫生服务水平。 与此同时&#xff0c;智能公厕也具有重要的意义&#x…

泽攸科技JS系列高精度台阶仪在半导体领域的应用

泽攸科技JS系列高精度台阶仪是一款先进的自主研发的国产台阶仪&#xff0c;采用了先进的扫描探针技术。通过扫描探针在样品表面上进行微观测量&#xff0c;台阶仪能够准确获取表面形貌信息。其工作原理基于探针与样品表面的相互作用力&#xff0c;通过测量探针的微小位移&#…

Jessibuca 插件播放直播流视频

jessibuca官网&#xff1a;http://jessibuca.monibuca.com/player.html git地址&#xff1a;https://gitee.com/huangz2350_admin/jessibuca#https://gitee.com/link?targethttp%3A%2F%2Fjessibuca.monibuca.com%2F 项目需要的文件 1.播放组件 <template ><div i…

汽车改装轮毂需要备案吗?哪些不需要更换轮毂?

如今&#xff0c;改装轮毂已经成为很多汽车爱好者的必备选择。 在改装轮毂之前&#xff0c;还有一些问题需要先弄清楚。 网友最常问的问题是&#xff1a;改装轮毂需要注册吗&#xff1f; 今天综艺猴就和朋友们聊聊这个问题。 请问还有哪些改造项目需要备案&#xff1f; 哪些是…

【Unity】如何从现有项目中抽取好用的资源

【背景】 在做Unity项目的过程中引入各种各样的Package&#xff0c;有的Package很大&#xff0c;但是觉得非常有用的可能只是几个Prefab或者Material等。如果直接拷贝想要的Prefab和Material&#xff0c;又需要自己确认所有有依赖关系的资源。 如果能将所有日常经受项目中自己…

电子病历系统

电子病历系统 获取源码——》公主号&#xff1a;计算机专业毕设大全

早产儿视网膜病变分期,自动化+半监督(无需大量医生标注数据)

早产儿视网膜病变 ROP 分期 提出背景解法框架解法步骤一致性正则化算法构建思路 实验 提出背景 论文&#xff1a;https://www.cell.com/action/showPdf?piiS2589-0042%2823%2902593-2 早产儿视网膜病变&#xff08;ROP&#xff09;目前是全球婴儿失明的主要原因之一。 这是…

有效电子邮件地址的最大长度是多少个符号?

有效电子邮件地址怎么填&#xff1f;如何校验邮件地址的有效性&#xff1f; 电子邮件已经成为我们日常生活和工作中不可或缺的一部分。有效电子邮件地址的正确性对于确保信息传递的准确和及时至关重要。那么&#xff0c;你可能会好奇&#xff0c;有效电子邮件地址的最大长度是…