Контекст не очищается в диалоговом потоке после установки продолжительности жизни на 0 из webhook - PullRequest
0 голосов
/ 28 апреля 2020

Я использую flask -ассистент в качестве бэкенда для моего действия в Google. У меня есть поток, в котором я устанавливаю контекст с некоторыми параметрами. После завершения потока я устанавливаю срок жизни контекста равным 0, и когда я пытаюсь снова вызвать намерение, параметры в контексте не очищаются. Пример: Intent A имеет контекстный тест, в котором я устанавливаю параметры как

context_manager.add('test', lifespan=5)
context_manager.set('test', 'testParameter1', value1)

В конце намерения я устанавливаю срок жизни 0:

context_manager.add('test', lifespan=0)

Но когда я снова пытаюсь чтобы вызвать намерение A, 'testParameter1' все еще существует в контексте 'test'.

Я также пытался context_manager.clear_all(), а также пытался отправить outputContexts как:

data = {"name":projects/{project_id}/agent/sessions/{session_id}/contexts/test,
        "lifespanCount":0,
        "parameters":{}
       }
reply = {
           "fulfillmentText": "Ending conversation",
            "outputContexts":data
        }
return make_response(jsonify(reply))

Оба установив lifespanCount равным 0, но параметры снова не очищаются после повторного вызова намерения A. Единственный способ решить эту проблему - это удалить сам сеанс, но в данном случае это не так.

I также видел "https://github.com/treethought/flask-assistant/issues/127", но он открыт на flask -ассистент.

Как решить эту проблему? Как параметры хранятся в контексте? и что происходит с контекстом после установки для lifespanCount значения 0?

...