Дополнительное обучение на специализированных данных
custom_training_data = [
"Какие виды труб лучше использовать для водоснабжения?",
"Для водоснабжения лучше всего подходят полипропиленовые или металлопластиковые трубы.",
"Как устранить засор в раковине?",
"Для устранения засора в раковине можно использовать вантуз, сантехнический трос или химическое средство.",
"Как часто нужно обслуживать сантехнические системы в доме?",
"Рекомендуется проводить осмотр и обслуживание сантехнических систем как минимум раз в год."
]
from chatterbot import ChatBot from chatterbot.trainers import ChatterBotCorpusTrainer from chatterbot.trainers import ListTrainer
Создание экземпляра чат-бота
bot = ChatBot( 'PlumbingBot', storage_adapter='chatterbot.storage.SQLStorageAdapter', database_uri='sqlite:///database.sqlite3' )
Обучение на стандартных наборах данных
trainer = ChatterBotCorpusTrainer(bot) trainer.train('chatterbot.corpus.russian')
Дополнительное обучение на специализированных данных
custom_training_data = [ "Какие виды труб лучше использовать для водоснабжения?", "Для водоснабжения лучше всего подходят полипропиленовые или металлопластиковые трубы.", "Как устранить засор в раковине?", "Для устранения засора в раковине можно использовать вантуз, сантехнический трос или химическое средство.", "Как часто нужно обслуживать сантехнические системы в доме?", "Рекомендуется проводить осмотр и обслуживание сантехнических систем как минимум раз в год." ]
custom_trainer = ListTrainer(bot) custom_trainer.train(custom_training_data)
Функция для получения ответов от бота
def get_response(question): response = bot.get_response(question) return response
if name == "main": print("Запуск PlumbingBot. Введите 'выход' для завершения.") while True: user_input = input("Вы: ") if user_input.lower() == 'выход': break response = get_response(user_input) print(f"PlumbingBot: {response}")