我想为使用ChatterBot
库编写的聊天机器人的特定问题指定我自己的答案。这是我的代码
from chatterbot import ChatBot
# Create a new chat bot named Charlie
chatbot = ChatBot(
'Charlie',
trainer='chatterbot.trainers.ListTrainer'
)
chatbot.train([
"who are you?",
"I'm a friendly chat bot"
])
# Get a response to the input text 'who are you?'
response = chatbot.get_response('who are you?')
print(response)
运行这段代码后的输出是
谁?谁只是一个遵循
功能的形式而不是
我是一个友好的聊天机器人
所以看起来对库中嵌入的这个问题有一个预先指定的答案。如何配置仅使用我的答案的机器人?
答案 0 :(得分:1)
@DavidBankom机器人只会训练您的数据。代码段也从source code中说明了相同的内容。
# Use specified trainer or fall back to the default
trainer = kwargs.get('trainer', 'chatterbot.trainers.Trainer')
TrainerClass = utils.import_module(trainer)
self.trainer = TrainerClass(self.storage, **kwargs)
self.training_data = kwargs.get('training_data')
我认为您在环境中pertained database exists会看到您的行为。
你能否尝试删除你的sqlite数据库文件,我认为在你的情况下它可以db.sqlite
default_uri = "sqlite:///db.sqlite3"
如果您需要帮助,请告诉我。
答案 1 :(得分:1)
您可以使用特定响应适配器。下面是示例代码。您可以在以下链接中找到更多信息:http://chatterbot.rtfd.org
{ 'import_path':'chatterbot.logic.SpecificResponseAdapter', 'input_text':'帮帮我!', 'output_text':'好的,这是链接:{{3}}' }