0

我正在调用在 IBM Data Science Experience 中部署模型后生成的 API。但是,当我使用 POST 调用 API 时,它会给出错误“身份验证失败”。现在的问题是,我使用了 IBM Watson 机器学习服务中可用的凭证,因为该模型本身不提供任何凭证。

有人可以帮我在这种情况下如何进行吗?

4

1 回答 1

0

您需要使用您的 Watson ML 服务凭证生成一个令牌,并在发布到您的分数 URL 时使用该令牌。您可以像这样生成令牌(注意:用户名、密码和 service_path 在您的 Watson ML 服务凭证中):

import urllib3, requests, json

headers = urllib3.util.make_headers(basic_auth='{}:{}'.format(username, password))
url = '{}/v3/identity/token'.format(service_path)
response = requests.get(url, headers=headers)
mltoken = json.loads(response.text).get('token')

当您点击评分 URL 时,您需要使用此令牌作为 Authorization 标头:

header = {'Authorization': 'Bearer ' + mltoken} 

在参考/示例笔记本@ https://console.bluemix.net/docs/services/PredictiveModeling/index.html#WMLgettingstarted下的文档中有一个示例

于 2017-08-01T14:42:00.703 回答