🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Watson

Watsonは、IBMが開発した質問応答・意思決定支援を行うシステムです。人口知能と言われることもあるが、IBMは自然言語処理と機械学習を用いて人間の意思決定を支援するコグニティブコンピューティングプラットホームと呼んでいます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1840閲覧

Watson APIでのProxyの適用の仕方

ryo387841

総合スコア13

Watson

Watsonは、IBMが開発した質問応答・意思決定支援を行うシステムです。人口知能と言われることもあるが、IBMは自然言語処理と機械学習を用いて人間の意思決定を支援するコグニティブコンピューティングプラットホームと呼んでいます。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2019/09/30 04:41

編集2019/09/30 05:37

Watson のLanguage Translatorを利用したいのですが、proxyエラーが出てしまいます。
どの部分で、プロキシ情報を適用すれば良いのでしょうか?
初歩的なことかと思いますが、なかなか情報が見つからず困っているので教えていただけると助かります。

Python

1import json 2from ibm_watson import LanguageTranslatorV3 3 4language_translator = LanguageTranslatorV3( 5 version='2018-05-01', 6 iam_apikey='{api_key}', 7 url='{url}') 8 9translation = language_translator.translate( 10 text='Hello', 11 model_id='en-es').get_result() 12print(json.dumps(translation, indent=2, ensure_ascii=False))

追記

情報が不足していましたので追記します。

ibm_watsonはAPIリファレンスを参考にpipで入手しました。

Python

1pip install --upgrade "ibm-watson>=3.4.0"

下記がエラーの全文になります。

Error

1During handling of the above exception, another exception occurred: 2 3ConnectionError Traceback (most recent call last) 4<ipython-input-19-40befa946038> in <module> 5 18 translation = language_translator.translate( 6 19 text='Hello', 7---> 20 model_id='en-es').get_result() 8 21 print(json.dumps(translation, indent=2, ensure_ascii=False)) 9 22 10 11c:\users\10001205180\python36\lib\site-packages\ibm_watson\language_translator_v3.py in translate(self, text, model_id, source, target, **kwargs) 12 178 params=params, 13 179 json=data, 14--> 180 accept_json=True) 15 181 return response 16 182 17 18c:\users\10001205180\python36\lib\site-packages\ibm_cloud_sdk_core\base_service.py in request(self, method, url, accept_json, headers, params, json, data, files, **kwargs) 19 367 auth = None 20 368 if self.token_manager: 21--> 369 access_token = self.token_manager.get_token() 22 370 headers['Authorization'] = '{0} {1}'.format(self.BEARER, access_token) 23 371 elif self.username and self.password: 24 25c:\users\10001205180\python36\lib\site-packages\ibm_cloud_sdk_core\jwt_token_manager.py in get_token(self) 26 54 return self.user_access_token 27 55 elif not self.token_info or self._is_token_expired(): 28---> 56 token_response = self.request_token() 29 57 self._save_token_info(token_response) 30 58 31 32c:\users\10001205180\python36\lib\site-packages\ibm_cloud_sdk_core\iam_token_manager.py in request_token(self) 33 58 headers=headers, 34 59 data=data, 35---> 60 auth_tuple=auth_tuple) 36 61 return response 37 62 38 39c:\users\10001205180\python36\lib\site-packages\ibm_cloud_sdk_core\jwt_token_manager.py in _request(self, method, url, headers, params, data, auth_tuple, **kwargs) 40 136 response = requests.request(method=method, url=url, 41 137 headers=headers, params=params, 42--> 138 data=data, auth=auth_tuple, **kwargs) 43 139 if 200 <= response.status_code <= 299: 44 140 return response.json() 45 46c:\users\10001205180\python36\lib\site-packages\requests\api.py in request(method, url, **kwargs) 47 58 # cases, and look like a memory leak in others. 48 59 with sessions.Session() as session: 49---> 60 return session.request(method=method, url=url, **kwargs) 50 61 51 62 52 53c:\users\10001205180\python36\lib\site-packages\requests\sessions.py in request(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json) 54 531 } 55 532 send_kwargs.update(settings) 56--> 533 resp = self.send(prep, **send_kwargs) 57 534 58 535 return resp 59 60c:\users\10001205180\python36\lib\site-packages\requests\sessions.py in send(self, request, **kwargs) 61 644 62 645 # Send the request 63--> 646 r = adapter.send(request, **kwargs) 64 647 65 648 # Total elapsed time of the request (approximately) 66 67c:\users\10001205180\python36\lib\site-packages\requests\adapters.py in send(self, request, stream, timeout, verify, cert, proxies) 68 514 raise SSLError(e, request=request) 69 515 70--> 516 raise ConnectionError(e, request=request) 71 517 72 518 except ClosedPoolError as e: 73 74ConnectionError: HTTPSConnectionPool(host='iam.cloud.ibm.com', port=443): Max retries exceeded with url: /identity/token (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x000001F9A1A49320>: Failed to establish a new connection: [WinError 10060] 接続済みの呼び出し先が一定の時間を過ぎても正しく応答しなかったため、接続できませんでした。または接続済みのホストが応答しなかったため、確立された接続は失敗しました。',))

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

quickquip

2019/09/30 05:09

エラーのトレースバック全文と、ibm_watson の入手元があるといいかと思いました。
guest

回答1

0

ベストアンサー

language_translator.translate()の前に以下設定できませんか?

Python

1http_proxy="xxx.xxx.xxx.xx:yyyy" 2https_proxy="xxx.xxx.xxx.xx:yyyy" 3 4http_config={"proxies" :{ 5 "http" : http_proxy, 6 "https" : https_proxy 7 }} 8 9language_translator.set_http_config(http_config)

投稿2019/09/30 06:38

Y.H.

総合スコア7918

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ryo387841

2019/09/30 07:20

文を追加してみたのですが、同じエラーメッセージでした。 別のAPIでSpeech to Textは、APIリファレンスの中に指定方法があり、接続できたのでおそらくproxyは合っていると思うのですが。。
ryo387841

2019/09/30 07:39

別のPCで試してみたら実行できました。ありがとうございます。 同じネットワークに接続しているのになぜアクセスできなかったのかが不明なのですが、 原因とかってわかったりしないでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問