我正在尝试将Python SDK用于IBM Watson Language Translator v3,测试翻译实际文档的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)
关于此的几个问题:-
研究此内容并查看实际的IBM Watson Github存储库,看来我可能必须将'myfile.txt'的内容读入一个变量,然后在提交翻译时将该变量作为'file = {my_variable}'传递但这不会否决能够提交实际文件进行翻译的目标吗?这与提供的常规服务有何不同?
有人可以建议我做错什么吗?例如,我尝试了多种方法(将'translated_content'的值写入文件),但似乎无法获取翻译后的内容,也似乎无法将文件的内容实际上传至服务,相反,我似乎只是提交文件名。
谢谢所有
file
的translate_document
参数应该是要翻译的实际内容。我意识到从文档中还不清楚,但这就是服务的工作方式。因此,请尝试在file
参数中传递您想要翻译的实际内容。