如何解决对于每条新消息旧用户,都会创建一个新的会话 ID,尽管我没有删除以前的会话 ID Watson Assisstant V2 API
当我在 python 终端中为每条消息运行 main.py 时,不会创建新的会话 ID(旧用户)。但是当我每次为新消息部署它的服务器时,即使是旧用户也会创建一个新的 session_id....
@app.route('/send_message/<string:user_message>',methods=['GET'])
def send_mesage(user_message):
try:
# Invoke a method
# Create Assistant service object.
authenticator = IAMAuthenticator('IcBMhVvVCh94QWP0u2DAfrT17-rmI9zGE4XzEoFdPDKa') # replace with API key
assistant = AssistantV2(
version = '2020-09-24',authenticator = authenticator
)
assistant.set_service_url('https://api.us-south.assistant.watson.cloud.ibm.com/instances/8244c6b7-6d94-422f-9292-b7408871d24b')
assistant_id = 'c9866a42-652d-4f3e-a75c-0d3e3281bc75' # replace with assistant ID
message_input = {
'message_type:': 'text','text': user_message
}
#Create Session For every new User.
session_id = assistant.create_session(assistant_id=assistant_id).get_result()
print(json.dumps(session_id,indent=2))
while message_input['text'] != 'quit':
response = assistant.message(
assistant_id=assistant_id,session_id=session_id['session_id'],input=message_input
).get_result()
-------------
解决方法
我不得不在函数之外编写代码..
# Invoke a method
# Create Assistant service object.
authenticator = IAMAuthenticator('IcBMhVvVCh94QWP0u2DAfrT17-rmI9zGE4XzEoFdPDKa') # replace with API key
assistant = AssistantV2(
version = '2020-09-24',authenticator = authenticator
)
assistant.set_service_url('https://api.us-south.assistant.watson.cloud.ibm.com/instances/8244c6b7-6d94-422f-9292-b7408871d24b')
assistant_id = 'c9866a42-652d-4f3e-a75c-0d3e3281bc75' # replace with assistant ID
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。