Mycroft Community Forum

How to debug intents?

Good morning to team !

we are translating lots of skills from en-us to cs-cz. I found some “errors” few days back in intents. For example stock skill.

In file StockPriceKeyword.voc we have a:

akcie
cena akcií
cena akcie
tržní cena

for first 3 intents Mycroft don’t understand. But the last works :slight_smile:

few debugs:

1. ERROR

Padatious intent: {‘name’: ‘mycroft-reminder.mycroftai:ReminderAt.intent’, ‘sent’: ‘cena akcie tesla’, ‘matches’: {}, ‘conf’: 0.13628904197111602}
mycroft.skills.intent_service:handle_utterance:364 | Adapt intent: None
mycroft.skills.padatious_service:handle_fallback:160 | Waiting for Padatious training to finish…
QuestionsAnswersSkill | Searching for cena akcie Tesla
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
WolframAlphaSkill | WolframAlpha query: cena akcie Tesla
Removing event fallback-query.mycroftai:QuestionQueryTimeout
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
Removing event fallback-query.mycroftai:QuestionQueryTimeout
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
WolframAlphaSkill | translation: Tesla stock price
WolframAlphaSkill | Non-question, ignoring: Tesla stock price
Removing event fallback-query.mycroftai:QuestionQueryTimeout
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
Removing event fallback-query.mycroftai:QuestionQueryTimeout
QuestionsAnswersSkill | Timeout occured check responses
mycroft.skills.padatious_service:handle_fallback:160 | Waiting for Padatious training to finish…
urllib3.connectionpool | Starting new HTTPS connection (1): api.mycroft.ai:443

2. ERROR

Padatious intent: {‘name’: ‘mycroft-date-time.mycroftai:what.time.will.it.be.intent’, ‘sent’: ‘akcie tesla’, ‘matches’: {}, ‘conf’: 0.11875320883932781}
mycroft.skills.intent_service:handle_utterance:364 | Adapt intent: None
mycroft.skills.padatious_service:handle_fallback:160 | Waiting for Padatious training to finish…
QuestionsAnswersSkill | Searching for akcie tesla
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
WolframAlphaSkill | WolframAlpha query: akcie tesla
Removing event fallback-query.mycroftai:QuestionQueryTimeout
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
Removing event fallback-query.mycroftai:QuestionQueryTimeout
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
WolframAlphaSkill | translation: shares tesla
WolframAlphaSkill | Non-question, ignoring: shares tesla
Removing event fallback-query.mycroftai:QuestionQueryTimeout
mycroft.skills.mycroft_skill.event_container:add:146 | Added event: fallback-query.mycroftai:QuestionQueryTimeout
Removing event fallback-query.mycroftai:QuestionQueryTimeout
QuestionsAnswersSkill | Timeout occured check responses
mycroft.skills.padatious_service:handle_fallback:160 | Waiting for Padatious training to finish…
urllib3.connectionpool | Starting new HTTPS connection (1): api.mycroft.ai:443

3. OK

Padatious intent: {‘name’: ‘mycroft-reminder.mycroftai:ReminderAt.intent’, ‘sent’: ‘tržní cena tesla’, ‘matches’: {}, ‘conf’: 0.13628904197111602}
… [{‘key’: ‘tesla’, ‘match’: ‘tesla’, ‘data’: [(‘tesla’, ‘mycroft_stock_mycroftaiCompany’)], ‘confidence’: 0.5}], ‘end_token’: 2, ‘from_context’: False}], ‘utterance’: ‘tržní cena tesla’}

Whats wrong ? How to debug and fix “broken” intents.

Thanks a lot

Marek

Poor mans debuging is to insert a lot of log calls (self.log.info or debug) and then watch the log for those.
You could also enable remote debug adaptor and connect to that from your IDE - I made a skill that helps dooing that

It works from VSCode or the THEIA IDE which I also made a skil for

I need debug “only” a voice intent translated from en-us to cs-cz without editing or changing source code of .py. Self.log solution is useless in this point :slight_smile: I need to know why Mycroft don’t accept (means why don’t run stock skill) first 3 words in intent file and accept only last one.

BTW any of installed skills does not containt word “akcie” except StockPriceKeyword.voc.

any news how to debug intents when code is OK ? thanks a lot