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

如何关闭Python ChatterBot库的重复响应过滤器?

关闭ChatterBot的近期响应过滤器

ChatterBot默认启用了近期响应过滤器,会自动排除历史中重复出现的响应。当匹配到的所有候选响应都被过滤时,机器人就会返回预设的"unknown"响应,从你提供的日志也能看到系统明确标记了排除重复响应的操作。

要禁用这个过滤器,有两种方式:

  • 直接禁用所有默认过滤器:
    在初始化ChatBot时,将filters参数设置为空列表,这样所有默认过滤器都会被关闭:

    from chatterbot import ChatBot
    
    bot = ChatBot(
        'Minerva',
        filters=[],
        # 保留你的其他配置参数
    )
    
  • 仅移除近期响应过滤器,保留其他默认过滤器:
    先导入默认过滤器列表,剔除其中的get_recent_repeated_responses过滤器,再传入ChatBot的配置:

    from chatterbot import ChatBot
    from chatterbot.filters import get_recent_repeated_responses
    
    # 从默认过滤器中移除近期重复响应过滤器
    custom_filters = [f for f in ChatBot.default_filters if f != get_recent_repeated_responses]
    
    bot = ChatBot(
        'Minerva',
        filters=custom_filters,
        # 保留你的其他配置参数
    )
    

完成以上配置后,ChatterBot就不会再排除近期使用过的响应,即使重复匹配到相同内容也会正常返回,不会触发"unknown"响应。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 16:39:56