You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

M1芯片Mac+VSCode环境下ChatterBot聊天机器人Spacy报错求助

问题解决:M1 Mac上ChatterBot结合Spacy v3.0的报错处理

问题梳理

在M1芯片Mac的VSCode环境(Python3.8.0)中使用ChatterBot构建聊天机器人时,出现两个问题:

  1. 运行训练代码时提示无法找到'en'模型,Spacy v3.0已弃用该快捷方式
  2. 执行python -m space download en时提示命令不存在
    已安装ChatterBot、chatterbot-corpus、Jupyter、flask、pyyaml等依赖。

代码拼写错误修复

先纠正代码里的笔误:原代码中逻辑适配器路径写错了,"chaetterbot.logic.BestMatch"需改为"chatterbot.logic.BestMatch"(多了一个t)。

Spacy模型相关问题解决

1. 纠正模型下载命令

你输入的命令把spacy拼成了space,且Spacy v3.0要求使用完整模型名称,正确下载命令为:

python3 -m spacy download en_core_web_sm

若M1 Mac运行上述命令出现兼容性问题,可尝试用pip直接安装模型包:

pip3 install en-core-web-sm

2. 配置ChatterBot使用完整模型名

ChatterBot默认用en调用Spacy模型,但Spacy v3.0不再支持该快捷方式,需在初始化ChatBot时指定完整模型名称:
修改后的初始化代码如下:

bot = ChatBot(
    "chatbot", 
    read_only=False, 
    logic_adapters=["chatterbot.logic.BestMatch"],
    tagger_language='en_core_web_sm'  # 指定完整模型名
)

完整修复后的代码

///this is to just train the bot///

from chatterbot import ChatBot 
from chatterbot.trainers import ListTrainer 

bot = ChatBot(
    "chatbot", 
    read_only=False, 
    logic_adapters=["chatterbot.logic.BestMatch"],
    tagger_language='en_core_web_sm'
)

list_to_train = [
                "Hi ",
                "Hi there ",
                "How are you? ",
                "Fine, thank you for asking ",
                "what's your name? ",
                "My name is chatbot ",
                "Who created you? ",
                "Ahh, good question, Majid is who created me ",
                "How old are you ",
                "I am ageless ",
                
]

list_trainer = ListTrainer(bot)

list_trainer.train(list_to_train)

内容的提问来源于stack exchange,提问作者majid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 07:57:34