来自chatterbot api python的延迟响应

时间:2018-07-03 09:13:04

标签: python chatbot chatterbot

当我开始使用chatterbot API时,结果经常出现,但逐渐地,其响应却日趋延迟。现在,大约需要2分钟才能回复一条简单的“ hello”消息。这不是代码的问题。问题是另外一回事。有人可以帮我吗?

from chatterbot import ChatBot
from chatterbot.trainers import ListTrainer
bot = ChatBot(
    'Norman',
    storage_adapter='chatterbot.storage.SQLStorageAdapter',
    input_adapter='chatterbot.input.TerminalAdapter',
    output_adapter='chatterbot.output.TerminalAdapter',
    logic_adapters=[
        'chatterbot.logic.MathematicalEvaluation',
        'chatterbot.logic.TimeLogicAdapter'
    ],
    database='./db.sqlite3'
)
bot.set_trainer(ListTrainer)
bot.train([
    'How are you?',
    'I am good.',
    'That is good to hear.',
    'Thank you',
    'You are welcome.'
])

while True:
    try:
        your_input = input("You: ")
        bot_output = bot.get_response(your_input)
        print(bot_output)

    except(KeyboardInterrupt, EOFError, SystemExit):
        break

1 个答案:

答案 0 :(得分:1)

问题在于代码正在使用终端输入适配器。
根据docs

The input terminal adapter allows a user to type into their terminal to communicate with the chat bot.

因此,它基本上用于从终端获取输入。
 该代码还尝试使用input()(在while循环内部)获取手动用户输入。这样会使处理速度变慢。
通过删除终端适配器作为输入适配器,可以解决此问题。