задержка ответа от chatterbot api python

когда я начал работать над API чат-ботов, его результаты приходили часто, но постепенно его ответ откладывался день ото дня. Теперь ответ на простое сообщение «привет» занимает около 2 минут. Это не проблема с кодом. проблема в другом. Кто-нибудь может мне с этим помочь?

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

person mukul puspam    schedule 03.07.2018    source источник


Ответы (1)


Проблема в том, что код использует Terminal Input Adapater.
Согласно документам :

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

Таким образом, он в основном используется для получения ввода с терминала.
Код также пытается получить ручной ввод пользователя с помощью input() (внутри цикла while). Это замедляет обработку.
Эту проблему можно решить, удалив терминальный адаптер в качестве входного адаптера.

person Mufeed    schedule 03.07.2018
comment
Это совершенно новая программа, которую я написал прямо сейчас. Все еще сталкиваюсь с той же проблемой - person mukul puspam; 03.07.2018
comment
Вы должны удалить старый файл базы данных, если вы используете новый код. Я имею в виду, если это другой бот. - person Mufeed; 03.07.2018
comment
Да, это новый файл базы данных, который был создан только сейчас и имеет очень маленький размер (32 КБ). - person mukul puspam; 03.07.2018
comment
еще есть задержка? - person Mufeed; 03.07.2018
comment
Да еще и задержался. - person mukul puspam; 03.07.2018
comment
Вы говорите, что это происходит с каждым созданным вами ботом или только с этим конкретным ботом? попробуйте создать ботов в разных каталогах и проверьте скорость. - person Mufeed; 03.07.2018
comment
Я получил решение. это происходило из-за input_adapter='chatterbot.input.TerminalAdapter'. после удаления это заработало. я не знаю почему - person mukul puspam; 03.07.2018
comment
Это странно. Вы уверены, что это реальная проблема? - person Mufeed; 03.07.2018
comment
Одна вещь, которую я заметил, это то, что вы используете терминальный adpater для получения ввода с терминала и снова используете input() для получения ввода от терминала, который явно не нужен. Может из-за этого медленнее работает - person Mufeed; 03.07.2018
comment
Я исправил это. я удалил входной и выходной адаптер - person mukul puspam; 03.07.2018
comment
Могу ли я добавить это как решение здесь? - person Mufeed; 03.07.2018