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

导入chatterbot报错:无法从chatterbot.utils导入input_function如何解决?

问题原因
  • input_function导入报错有两个核心诱因:
    1. 本地桌面路径下存在自定义的utils.py文件,Python导入模块时会优先读取当前目录的同名文件,而非chatterbot官方的utils模块
    2. ChatterBot 1.0及以上版本已经完全移除了chatterbot.utils.input_function这个导出接口,旧版本的用法已经失效
  • ChatBot类不存在default_session属性的报错同样由版本不兼容导致,新版本重构了会话管理逻辑,废弃了该属性
解决方案
  1. 先将本地/Users/drax/Desktop/utils.py文件重命名为非冲突名称(比如my_utils.py),同时删除同目录下的__pycache__缓存文件夹,避免模块导入优先级冲突
  2. 输入处理相关功能可以使用新版本官方提供的输入适配器实现,示例用法:
# 导入终端输入适配器,替代原有input_function的功能
from chatterbot.input import TerminalAdapter

如果需要自定义输入逻辑,继承chatterbot.input.InputAdapter基类重写process_input方法即可
3. 原有default_session的功能可以通过调用get_session()方法实现:

from chatterbot import ChatBot

bot = ChatBot('你的机器人名称')
# 获取会话实例,替代原有default_session属性
current_session = bot.get_session()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 17:09:03