调用GenericAssistant的train_modle方法报错:不存在该方法的求助
问题解决方法
1. 修正错误的导入语句
你当前的导入写法完全不符合语法规范,正确的导入方式是先导入GenericAssistant类:
from neuralintents import GenericAssistant
不要在导入阶段直接调用方法,需先完成类的导入,再通过实例化对象调用方法。
2. 修正方法名拼写错误
- 你调用的
train_modle是拼写错误,正确方法名为train_model(注意是model而非modle) - 后续代码里的
requste同样是拼写错误,正确名称为request
3. 修正后的关键代码片段
# 正确导入类 from neuralintents import GenericAssistant class ass: def __init__(self): self.rcgr = spr.Recognizer() self.speaker = tts.init() self.speaker.setProperty("rate" , 150) self.ass = GenericAssistant("intense.json") # 修正方法名拼写 self.ass.train_model() self.root = tk.Tk() self.lable = tk.Label(text="🤖" , font=("Arial" , 120 , "bold")) self.lable.pack() threading.Thread(target=self.run_ass).start() self.root.mainloop() def run_ass(self): while True: try: with spr.Microphone() as mic: self.rcgr.adjust_for_ambient_noise(mic , duration= 0.2) audio = self.rcgr.listen(mic) text = self.rcgr.recognize_sphinx(audio) text = text.lower() if "hey jake" in text: self.lable.config(fg="red") audio = self.rcgr.listen(mic) text = self.rcgr.recognize_sphinx(audio) text = text.lower() if text == "stop": self.speaker.say("Good Bye") self.speaker.runAndWait() self.speaker.stop() self.root.destroy() sys.exit() else: if text is not None : # 修正方法名拼写 rsp = self.ass.request(text) if rsp is not None: self.speaker.say(rsp) self.speaker.runAndWait() self.lable.config(fg="black") except: self.lable.config(fg="black") continue
4. 额外检查项
确保你的intense.json文件路径正确,要么放在当前脚本的同一目录下,要么使用完整绝对路径。
内容的提问来源于stack exchange,提问作者Yashar Moh
相关产品推荐
相关产品推荐

