Skip to content

Instantly share code, notes, and snippets.

@jumper047
Created August 22, 2017 17:08
Show Gist options
  • Save jumper047/1aca3508873d82199960986b5ff694d9 to your computer and use it in GitHub Desktop.
Save jumper047/1aca3508873d82199960986b5ff694d9 to your computer and use it in GitHub Desktop.
def query(self, query, connector):
nquery = self.normalize(query)
print(nquery)
if not self.context_managers.get(connector):
self.context_managers[connector] = ContextManager()
if not self.last_request.get(connector):
self.last_request[connector] = datetime.datetime.now()
last_rq_delta = datetime.datetime.now() - self.last_request[connector]
if last_rq_delta.seconds > 300:
# resetting context, if last conversation was more than 15 minutes
# ago
self.context_managers[connector].frame_stack = []
message = "Прости, что то пошло не так"
for intent in self.engine.determine_intent(nquery, include_tags=True, context_manager=self.context_managers[connector]):
print(intent)
print("\nLength of context stack before:\n", len(
self.context_managers[connector].frame_stack))
# after enabling context management, it can become more important
if intent and intent.get('confidence') > 0:
print(intent)
if self.get_app(intent["intent_type"]).context_sensitive:
for tag in intent["__tags__"]:
context_entity = tag.get('entities')[0]
self.context_managers[
connector].inject_context(context_entity)
print("\nLength of context stack after:\n", len(
self.context_managers[connector].frame_stack))
message = self.get_app(intent["intent_type"]).handle(intent)
self.last_request[connector] = datetime.datetime.now()
self.get_app(connector).answer(message)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment