-
-
Save jumper047/1aca3508873d82199960986b5ff694d9 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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