Я использую 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?