Django Admin中的空Chatterbot对话表

时间:2017-08-28 02:25:17

标签: python django chatterbot

在Django admin中,使用

执行训练后,chatterbot转换表为空

python manage.py train

上面的代码使用基于yml文件的训练数据填充语句和响应表。这很好。

但是,在测试过程中,发布到chatbot和响应的语句应该转到空对话表,不应该添加到训练有素的语句和响应数据表中。

1 个答案:

答案 0 :(得分:1)

当您启动对话界面时,bot会开始将所有对话录制到数据库中。

如果您查看聊天机器人的source code,如果数据库中存在对话,则对话将附加到现有对话中,否则将创建新标识符

    conversation.id = request.session.get('conversation_id', 0)
    existing_conversation = False
    try:
        Conversation.objects.get(id=conversation.id)
        existing_conversation = True

    except Conversation.DoesNotExist:
        conversation_id = self.chatterbot.storage.create_conversation()
        request.session['conversation_id'] = conversation_id
        conversation.id = conversation_id

    if existing_conversation:
        responses = Response.objects.filter(
            conversations__id=conversation.id
        )

        for response in responses:
            conversation.statements.append(response.statement.serialize())
            conversation.statements.append(response.response.serialize())

    return conversation

会话的Django chatterbot ADMIN页面

enter image description here

如果您需要任何进一步的帮助,请与我联系。