国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python調(diào)用各大機器翻譯API大全

這篇具有很好參考價值的文章主要介紹了Python調(diào)用各大機器翻譯API大全。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

過去的二三年中,我一直關(guān)注的是機器翻譯API在自動化翻譯過程中的應(yīng)用,包括采用CAT工具和Python編程語言來調(diào)用機器翻譯API,然后再進行譯后編輯,從而達到快速翻譯的目的。

然而,我發(fā)現(xiàn)隨著人工智能的發(fā)展,很多機器翻譯也做了相應(yīng)的調(diào)整,調(diào)用機器翻譯api的樣例也發(fā)生了變化,今天我特意把主流機器翻譯api調(diào)用的Python代碼匯聚于此,總共有七種方法,供大家學(xué)習(xí)參考。

一、Python調(diào)用Google機器翻譯API

目前官方網(wǎng)站的調(diào)用代碼沒有之前的好用,所以我們依然采用以前的代碼,只用安裝requests, 而不用安裝額外的Python包,前提是只要知道Google翻譯的API密匙和翻譯的語對方向即可,代碼如下:

import requests
def google_api(content):
    url = "https://translation.googleapis.com/language/translate/v2"
    data = {
        'key': "YOUR_API_KEY", #你自己的api密鑰
        'source': "zh",
        'target': "en",
        'q': content,
        'format': 'text'
    }
    headers = {'X-HTTP-Method-Override': 'GET'}
    response = requests.post(url, data=data, headers=headers)
    res = response.json()
    text = res["data"]["translations"][0]["translatedText"]
    return text
print("谷歌翻譯:"+google_api("好好學(xué)習(xí),天天向上!"))

二、Python調(diào)用百度機器翻譯API

Python調(diào)用百度機器翻譯API的代碼有些變化,但前提是需要申請百度的api id和key,放到以下代碼中:

import requests
import random
import json
from hashlib import md5

# Set your own appid/appkey.
appid = 'YOUR APP ID'
appkey = 'YOU APP KEY'

# For list of language codes, please refer to `https://api.fanyi.baidu.com/doc/21`
from_lang = 'en'
to_lang =  'zh'

endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path

query = 'Hello World!'

# Generate salt and sign
def make_md5(s, encoding='utf-8'):
    return md5(s.encode(encoding)).hexdigest()

def baidu_api(query,from_lang,to_lang):
    salt = random.randint(32768, 65536)
    sign = make_md5(appid + query + str(salt) + appkey)

    # Build request
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    payload = {'appid': appid, 'q': query, 'from': from_lang, 'to': to_lang, 'salt': salt, 'sign': sign}

    # Send request
    r = requests.post(url, params=payload, headers=headers)
    result = r.json()

    # Show response
    #print(json.dumps(result, indent=4, ensure_ascii=False))
    return result["trans_result"][0]['dst']

print(baidu_api(query,from_lang, to_lang))

三、Python調(diào)用小牛機器翻譯API代碼

以下代碼是經(jīng)過我改進后的代碼,效率更高一些,供大家參考。小?,F(xiàn)在提供100萬字符/月的額度,大家可以申請試用。

import json
import requests
apikey="YOUR_API_KEY"
def translate(sentence, src_lan, tgt_lan):
    url = 'http://api.niutrans.com/NiuTransServer/translation?'
    data = {"from": src_lan, "to": tgt_lan, "apikey": apikey, "src_text": sentence}
    res = requests.post(url, data = data)
    res_dict = json.loads(res.text)
    if "tgt_text" in res_dict:
        result = res_dict['tgt_text']
    else:
        result = res
    return result
if __name__ == "__main__":
    while True:
        line = input("請輸入要翻譯的文本:")
        try:
            trans = translate(line, 'auto', 'en')
            print(trans+"\n---------")
        except Exception as exc:
            print(exc)

四、Python調(diào)用同花順機器翻譯api

之前我已經(jīng)寫出采用Python調(diào)用同花順機器翻譯api來翻譯字幕的代碼,詳情如下:

import json,os,sys
import requests
import easygui as g
# appid = '你申請的id'
# appkey = '你申請的key'
# 解說打包報錯問題
os.environ['REQUESTS_CA_BUNDLE'] =  os.path.join(os.path.dirname(sys.argv[0]), 'cacert.pem')

def get_key():
"""讀取本地appid.txt,獲取id和key并生成字典"""
    dic={}
    with open("appid.txt","r",encoding="utf-8") as f:
        lines=[line.strip() for line in f.readlines()]
        for line in lines:
            ls=line.split("=")
            dic[ls[0].strip()]=ls[1].strip()
    return dic

def getToken():
"因為用同花順的API時要校驗token,由于token只有24小時的有效期,因此每次都要調(diào)用一下,以防過期。本函數(shù)獲取最新的token"
    tokenUrl = 'https://b2b-api.10jqka.com.cn/gateway/service-mana/app/login-appkey'
    param = {}
    param['appId'] = appid
    param['appSecret'] = appkey
    authResult = requests.post(tokenUrl, data=param)
    authResult = authResult.content
    res = json.loads(authResult)
    access_token = ''
    if 0 == res['flag']:
        access_token = res['data']['access_token']
    return access_token

def translate(texts, token):
"調(diào)用同花順機器翻譯API函數(shù),注意這里是英文翻譯成中文,如果要中文翻譯成英文要修改【param['from']】為zh,【param['to'] 】為en"
    ls=[]
    if '' == token:
        return
    param = {}
    param['app_id'] = appid
    param['from'] = "en"
    param['to'] = 'zh'
    param['domain'] = 'default'
    param['text'] = json.dumps(texts)

    headers = {"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "open-authorization": "Bearer" + token}
    url = 'https://b2b-api.10jqka.com.cn/gateway/arsenal/machineTranslation/batch/get/result'
    response = requests.post(url, headers=headers, data=param)

    Ret = response.content
    res = json.loads(Ret)

    if 0 == res['status_code']:
        res = res['data']
    for rst in res['trans_result']:
        ls.append(rst['dst'])
    return ls

def read_srt(file):
"讀取字幕文件,生成字幕序號、時間和字幕內(nèi)容的列表"
    with open(file, "r", encoding = "utf-8-sig") as f:
        lines=[line.strip() for line in f.readlines()]
    max_line=len(lines)
    if max_line<=600:
        texts=lines[2:max_line:4]
        times=lines[1:max_line:4]
        nums=lines[:max_line:4]
    else:
        g.msgbox("字幕文件超過150行!請更換文件。")
    return nums,times,texts

def add_to_srt(nums,times,texts,trans):
"生成新的字幕文件,把譯文也添加上。"
    final_list=[]
    for (num,time,text,tran) in zip(nums,times,texts,trans):
        new_line = num + "\n"+ time + "\n" + text + "\n" + tran +"\n\n"
        final_list.append(new_line)
    with open(srt.replace(".srt", "_new.srt"), "wt", encoding= "utf-8-sig") as f:
        f.write("".join(final_list))
        print("done!")
        
if __name__ == '__main__':
    d=get_key()
    appid=d["id"]
    appkey=d["key"]
    title='請打開字幕文件'
    srt=g.fileopenbox(default='*.srt')
    nums,times,texts=read_srt(srt)
    token = getToken() #token有效期為24小時,請在應(yīng)用程序中做好定時獲取操作,避免token失效
    trans=translate(texts, token)
    add_to_srt(nums,times,texts,trans)
    g.msgbox("字幕文件已經(jīng)翻譯成功,請在字幕所在目錄查看。")

五、Python調(diào)用彩云 小譯機器翻譯api

彩云這個小而美的機器翻譯一直很低調(diào),翻譯的速度和質(zhì)量都還不錯。以下是相關(guān)的樣例代碼:

import requests
import json
 
url = "http://api.interpreter.caiyunai.com/v1/translator"
token = "你的令牌" #這里填寫你自己的令牌
 
payload = {
        #"source" : ["Where there is a will, there is a way.", 
                     #"ColorfulClouds Weather is the best weather service."],
        "source" : "Where there is a will, there is a way.",
        "trans_type" : "en2zh",
        "request_id" : "demo",
        }
 
headers = {
        'content-type': "application/txt",
        'x-authorization': "token " + token,
}
 
response = requests.request("POST", url, data=json.dumps(payload), headers=headers)
 
#print(response.text)
resp = json.loads(response.text)['target']

print(resp)

六、Python調(diào)用阿里云機器翻譯api

阿里云機器翻譯api的調(diào)用比較繁瑣,申請過程也較復(fù)雜,其翻譯質(zhì)量倒時一般,大家可以有選擇地使用以下代碼:

from alibabacloud_alimt20181012.client import Client as alimt20181012Client
from alibabacloud_tea_openapi import models as open_api_models
from alibabacloud_alimt20181012 import models as alimt_20181012_models
from alibabacloud_tea_util import models as util_models

ACCESS_KEY_ID = 【Access_key_id>】#這里把尖括號里的 Acess_key_id和Acess_key_secret分別修改為自己申請的通用翻譯api
ACCESS_KEY_SECRET = 【Access_key_secret】

def create_client(
    access_key_id: str,
    access_key_secret: str,
) -> alimt20181012Client:
    config = open_api_models.Config(
        access_key_id=access_key_id,
        access_key_secret=access_key_secret
    )
    config.endpoint = f'mt.cn-hangzhou.aliyuncs.com'
    return alimt20181012Client(config)
def translate(text):
    client = create_client(ACCESS_KEY_ID, ACCESS_KEY_SECRET)
    translate_general_request = alimt_20181012_models.TranslateGeneralRequest(
        format_type='text',
        source_language='en',
        target_language='zh',
        source_text=text,
        scene='general'
    )
    runtime = util_models.RuntimeOptions()
    resp = client.translate_general_with_options(translate_general_request, runtime)
    return resp.body.data.__dict__['translated']
print(translate("Rome is not built in a day."))

七、利用ChatGPT來翻譯

ChatGPT也可以用于翻譯,只要我們給它發(fā)出指令即可。代碼如下:

import openai

openai.api_base = "https://api.openai.com/v1"

openai.api_key = "YOUR_API_KEY"

model_engine_id = "text-davinci-003"

while True:
    prompt = input("Q:")
    completions = openai.Completion.create(
        engine=model_engine_id,
        prompt="Translate the following sentences into Chinese:"+prompt,
        max_tokens=800,
    )

    message = completions.choices[0].text.strip()

    print("A:",message,end="\n")

八、學(xué)后反思

1. 本文總結(jié)了六大機器翻譯api的調(diào)用方法,供大家參考。英譯漢,個人推薦的是Google翻譯。漢譯英推薦百度翻譯、小牛翻譯等。譯文潤色可以調(diào)用ChatGPT幫忙。

2. 下一步,我將努力整合一下更多的機器翻譯api的調(diào)用方法,添加在一起,也可以寫一個調(diào)用包,以方便大家使用。文章來源地址http://www.zghlxwxcb.cn/news/detail-619386.html

到了這里,關(guān)于Python調(diào)用各大機器翻譯API大全的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型部署(三)

    【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型部署(三)

    【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯seq2seq字符編碼(一) 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型訓(xùn)練與保存(二) 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型部署(三) 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型部署之onnx(python)(四) 模型部

    2024年02月15日
    瀏覽(19)
  • OJ# 376 機器翻譯

    OJ# 376 機器翻譯

    題目描述 ? 小李的電腦上安裝了一個機器翻譯軟件,他經(jīng)常用這個軟件來翻譯英語文章。 ?這個翻譯軟件的原理很簡單,它只是從頭到尾,依次將每個英文單詞用對應(yīng)的中文含義來替換。對于每個英文單詞,軟件會先在內(nèi)存中查找這個單詞的中文含義, 如果內(nèi)存中有,軟件

    2024年02月11日
    瀏覽(22)
  • NLP——Translation 機器翻譯

    NLP——Translation 機器翻譯

    基于統(tǒng)計的機器翻譯任務(wù)通常通過翻譯模型(Translation Model)和語言模型(Language Model)的結(jié)合來學(xué)習(xí)更強大的翻譯模型。這種結(jié)合被稱為統(tǒng)計機器翻譯(SMT)。 翻譯模型(Translation Model):翻譯模型主要關(guān)注如何將源語言句子翻譯成目標(biāo)語言句子。它使用雙語語料庫進行訓(xùn)練

    2024年02月09日
    瀏覽(20)
  • 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型訓(xùn)練與保存(二)

    【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型訓(xùn)練與保存(二)

    【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯seq2seq字符編碼(一) 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型訓(xùn)練與保存(二) 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型部署(三) 【如何訓(xùn)練一個中英翻譯模型】LSTM機器翻譯模型部署之onnx(python)(四) 基于

    2024年02月15日
    瀏覽(20)
  • 什么是自然語言處理的機器翻譯?

    什么是自然語言處理的機器翻譯?

    機器翻譯(Machine Translation,MT)是一種自然語言處理技術(shù),旨在將一種語言的文本自動翻譯成另一種語言。機器翻譯是自然語言處理領(lǐng)域的重要應(yīng)用之一,它可以幫助人們在跨語言交流、文檔翻譯和信息檢索等方面更加便捷和高效。本文將詳細介紹自然語言處理的機器翻譯。

    2024年02月05日
    瀏覽(23)
  • 【動手學(xué)深度學(xué)習(xí)】--機器翻譯與數(shù)據(jù)集

    【動手學(xué)深度學(xué)習(xí)】--機器翻譯與數(shù)據(jù)集

    學(xué)習(xí)視頻:機器翻譯數(shù)據(jù)集【動手學(xué)深度學(xué)習(xí)v2】 官方筆記:機器翻譯與數(shù)據(jù)集 機器翻譯 (machine translation)指的是 將序列從一種語言自動翻譯成另一種語言。 事實上,這個研究領(lǐng)域可以追溯到數(shù)字計算機發(fā)明后不久的20世紀(jì)40年代, 特別是在第二次世界大戰(zhàn)中使用計算機破

    2024年02月09日
    瀏覽(25)
  • 為什么需要多語言并行機器翻譯?

    為什么需要多語言并行機器翻譯?

    隨著全球化的加速和不同語言之間的交流需求不斷增長,多語言機器翻譯(Multilingual Parallel Machine Translation)成為一個備受關(guān)注的領(lǐng)域。傳統(tǒng)上,機器翻譯系統(tǒng)主要集中于一對特定語言之間的翻譯,但這種單一語言對的模式在面對多語言環(huán)境時存在一些挑戰(zhàn)。因此,多語言并

    2024年02月12日
    瀏覽(29)
  • 人工智能-機器翻譯:技術(shù)發(fā)展與代碼實戰(zhàn)

    人工智能-機器翻譯:技術(shù)發(fā)展與代碼實戰(zhàn)

    在本文中,我們深入探討了機器翻譯的歷史、核心技術(shù)、特別是神經(jīng)機器翻譯(NMT)的發(fā)展,分析了模型的優(yōu)化、挑戰(zhàn)及其在不同領(lǐng)域的應(yīng)用案例。同時,我們還提出了對未來機器翻譯技術(shù)發(fā)展的展望和潛在的社會影響。 關(guān)注TechLead,分享AI全維度知識。作者擁有10+年互聯(lián)網(wǎng)

    2024年02月05日
    瀏覽(51)
  • Transformer(四)--實現(xiàn)驗證:transformer 機器翻譯實踐

    Transformer(四)--實現(xiàn)驗證:transformer 機器翻譯實踐

    轉(zhuǎn)載請注明出處:https://blog.csdn.net/nocml/article/details/125711025 本系列傳送門: Transformer(一)–論文翻譯:Attention Is All You Need 中文版 Transformer(二)–論文理解:transformer 結(jié)構(gòu)詳解 Transformer(三)–論文實現(xiàn):transformer pytorch 代碼實現(xiàn) Transformer(四)–實現(xiàn)驗證:transformer 機器翻譯實踐

    2024年02月11日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包