使用Python集成Watson AI创建会话时遇404资源未找到错误求助
解决Watson Assistant V2 API 404 Resource not found错误
404错误表示你请求的Watson Assistant资源不存在,结合你的代码,从以下几个方面排查:
1. 确认Assistant ID完全正确
- 必须复制Watson Assistant控制台中对应助理的ID,而非技能ID、服务实例ID或环境ID。
- 检查ID是否带有多余空格、换行符,复制时不要包含额外字符。
2. 验证服务URL的准确性
- 美国达拉斯区域(us-south)的正确服务URL是:
https://api.us-south.assistant.watson.cloud.ibm.com - 不要手动拼接URL,直接从IBM Cloud控制台的Watson Assistant服务凭证里复制完整的URL。
3. 检查API密钥的有效性
- 确认密钥未过期,且属于当前使用的Watson Assistant服务实例。
- 密钥需要具备访问该助理的权限,可在IBM Cloud IAM控制台中验证权限配置。
4. 确认助理状态正常
- 目标助理必须已发布(Publish),且未被删除。登录Watson Assistant控制台检查助理的状态。
修改后的示例代码
from ibm_watson import AssistantV2, ApiException from ibm_cloud_sdk_core.authenticators import IAMAuthenticator # 替换为你的实际API密钥 authenticator = IAMAuthenticator('YOUR_VALID_API_KEY') assistant = AssistantV2( version='2023-03-20', authenticator=authenticator ) # 替换为对应区域的正确服务URL assistant.set_service_url('https://api.us-south.assistant.watson.cloud.ibm.com') try: # 替换为正确的助理ID session = assistant.create_session( assistant_id='YOUR_CORRECT_ASSISTANT_ID' ).get_result() session_id = session['session_id'] response = assistant.message( assistant_id='YOUR_CORRECT_ASSISTANT_ID', session_id=session_id, input={ 'message_type': 'text', 'text': 'Hello, how are you?' } ).get_result() print(response) except ApiException as ex: print("Method failed with status code " + str(ex.code) + ": " + ex.message)
内容的提问来源于stack exchange,提问作者user22353856
相关产品推荐
相关产品推荐

