Multi-turn Dialog, "Cannot use unknown intent \'e\' in intents filter\n "


I am trying to implement multi-turn dialogue with snips. I wanted to make an app where you can ask snips how it is feeling, snips replies and asks how you are feeling, after your reply then snips say okay good bye. I then plan to extend and modify for something more useful.

I can get as far as replying with my answer, and then snips should end the session, but instead snips does not recognise the intent “Cannot use unknown intent ‘e’ in intents filter\n”. I have copied and pasted the code and modified from the snips times table quiz app, and used snippets from a greetings app but havnt managed to pull it together between the two. My understanding is you call the publish continue session with session id, tts sentance and an intent that is expected next.

code snipppet for “request_mood” intent

import random

say = ['hello, how are you', 'howdy, you okay', 'hi, how do you feel', 'greetings, is today a good day']
result_sentence = random.choice(say)
current_session_id = intentMessage.session_id
hermes.publish_continue_session(current_session_id, result_sentence, "explain_mood")

Snippet for explain_mood intent

import random

say = ['ok good, bye', 'never mind see you later', 'glad to hear it, good bye', 'have a nice day, bye now']
result_sentence = random.choice(say)
current_session_id = intentMessage.session_id
hermes.publish_end_session(current_session_id, result_sentence)


closing session which was active: Error { error: “Receives error from component Nlu: { error: Cannot use unknown intent ‘e’ in intents filter\n, context: im okay}\n” }

Can anyone clarify intent filters? Am I using them correctly? Why does snips not recognise the intent?

I have tried using snippets and a link to a github repo and have got as far as this in each.

Why is snips not picking up the intent?

Surely something simple Ive missed?


as per the docs

intentFilter - Optional Array of String
its looking for an array… in your example above you only past in a string “explain_mood”

try [“explain_mood”] (wrapping the string array in [])

for more examples and help with hermes check out the main docs for it

a bigger array would look like
[“explain_mood”, “explain_something”, “explain_somthingelse”]

aw man,

Thanks for the help is working now.

Im sure I tried it and it didnt work before :sweat_smile:

Thanks again