Amazon Alexa技能构建模型时提示Invalid category报错求助
我之前也碰到过这个诡异的问题——改完旧技能后保存模型完全没问题,一构建就弹出这个报错,当时搜了半天也没找到明确解决方案,后来折腾了好一阵才摸清楚门道。这个错误本质上和技能的分类(Category)配置脱不了干系,大概率是修改过程中触发了分类的隐性冲突,或是后台分类规则更新导致旧配置不兼容。
给你分享几个亲测有效的排查和解决步骤:
检查并重置技能分类:
打开Alexa开发者控制台,进入你的技能页面,切换到「Distribution」>「Availability」板块,找到「Category」下拉框。有些旧技能选的分类可能已经被亚马逊弃用,或是你误选了和当前技能功能不兼容、地区受限的分类。建议先把分类改成最通用的选项(比如「Tools」或「Entertainment」),再尝试重新构建模型。排查交互模型的隐性绑定:
部分分类会和特定的意图、槽位存在隐性关联。比如你选了「Food & Drink」分类,但技能里新增了和餐饮完全无关的意图逻辑,就可能触发这个错误。可以先暂时简化交互模型(比如删除最近新增的意图或槽位),再逐步恢复,定位冲突的具体内容。清除控制台缓存重试:
有时候是Alexa开发者控制台的缓存搞鬼,导致分类配置没有正确同步到后台。试试清空浏览器缓存,或者用无痕模式打开控制台,重新保存模型后再构建。验证地区与分类的兼容性:
如果修改过技能的可用地区,要注意某些分类只对特定地区开放。比如部分分类仅支持美国地区,如果你新增了其他地区,就会出现分类不兼容的问题。回到「Availability」页面,确认当前选择的地区和分类是否匹配。
要是以上方法都没用,还可以导出当前的交互模型JSON文件,检查里面的category字段取值是否合法,有没有拼写错误或废弃的取值,修正后再导入控制台尝试构建。
内容的提问来源于stack exchange,提问作者AGoranov

