繁体   English   中英

Python - IBM Watson Language Translator v3 - 上传文件内容并下载结果

[英]Python - IBM Watson Language Translator v3 - uploading content of a file and downloading the result

我正在尝试使用适用于 IBM Watson Language Translator v3 的 Python SDK,测试翻译实际文档的 beta 功能。 以下是我的代码:-

from ibm_watson import LanguageTranslatorV3
from ibm_cloud_sdk_core.authenticators import IAMAuthenticator

API = "1234567890abcdefg"
GATEWAY = 'https://gateway-lon.watsonplatform.net/language-translator/api'

document_list = []

"""The below authenticates to the IBM Watson service and initiates an instance"""
authenticator = IAMAuthenticator(API)
language_translator = LanguageTranslatorV3(
    version='2018-05-01',
    authenticator=authenticator
)

language_translator.set_service_url(GATEWAY)

submission = language_translator.translate_document(file="myfile.txt", filename="myfile.txt", file_content_type='text/plain', model_id=None, source='en', target='es', document_id=None)
document_list.append(submission.result['document_id'])

while len(document_list) > 0:
    for document in document_list:
        document_status = language_translator.get_document_status(document)
        if document_status.result['status'] == "available":
            translated_document = language_translator.get_translated_document(document)
            document_list.remove(document)
            language_translator.delete_document(document)

关于这个的几个问题:-

  1. 当我检查“translated_document”的内容时,它实际上不包含任何内容。 它包含响应的标头和 HTTP 状态,但没有实际翻译的内容
  2. 我决定使用 CURL 下载我上传的文档,而不是上传 .txt 文件的实际内容进行翻译,当通过 CURL 下载翻译文件时,内容似乎是实际文件名 (myfile.txt)正在提交翻译而不是文件的内容。

对此进行研究并查看实际的 IBM Watson Github 存储库,看来我可能必须将“myfile.txt”的内容读取到一个变量,然后在提交翻译时将此变量作为“file={my_variable}”传递,但没有这不是破坏了能够提交实际文件进行翻译的目的吗? 这与提供的传统服务有何不同?

有人可以告诉我我做错了什么吗? 例如,我尝试了多种方法(将“translated_content”的值写入文件),但我似乎无法获取翻译的内容,也无法将文件的内容实际上传到服务,相反,我只是似乎提交了文件名。

谢谢大家

translate_documentfile参数应该是要翻译的实际内容。 我意识到文档中并不清楚,但这就是服务的工作方式。 因此,请尝试在file参数中传递您要翻译的实际内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM