对于每条新消息旧用户,都会创建一个新的会话 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