当我开始使用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
答案 0 :(得分:1)
问题在于代码正在使用终端输入适配器。
根据docs:
The input terminal adapter allows a user to type into their terminal to communicate with the chat bot.
因此,它基本上用于从终端获取输入。
该代码还尝试使用input()(在while循环内部)获取手动用户输入。这样会使处理速度变慢。
通过删除终端适配器作为输入适配器,可以解决此问题。