Какие-нибудь примеры использования multilogicadapter в Chatterbot?

Я пытаюсь объединить несколько логических адаптеров в Python Chatterbot. Я не могу понять это правильно. Я попробовал это:

english_bot = ChatBot("English Bot", 
storage_adapter="chatterbot.storage.SQLStorageAdapter",
multi_logic_adapter = [
    "chatterbot.logic.MathematicalEvaluation",
    "chatterbot.logic.TimeLogicAdapter",
    "chatterbot.logic.BestMatch"]
)

Только BestMatch кажется активным И я попробовал это:

english_bot = ChatBot("English Bot", 
storage_adapter="chatterbot.storage.SQLStorageAdapter",
logic_adapter = [
    "chatterbot.logic.multi_adapter.MultiLogicAdapter", 
    "chatterbot.logic.MathematicalEvaluation",
    "chatterbot.logic.TimeLogicAdapter",
    "chatterbot.logic.BestMatch"]
)

Но я получаю эту ошибку: AttributeError: у объекта 'NoneType' нет атрибута 'trust', и ни один из логических_папок, кажется, не активен.

Спасибо травка

3 ответа

Каждый логический адаптер в logic_adapters=[] автоматически обрабатывается MultiLogicAdapter. Возможно, вам придется настроить уровни доверия, хотя.

Подробнее о MultiLogicAdapter можно узнать здесь: http://chatterbot.readthedocs.io/en/stable/logic/multi-logic-adapter.html

В MultiLogicAdapter обычно таким образом напрямую не используются.

Каждый логический адаптер, добавляемый в logic_adapters=[] будут обработаны MultiLogicAdapter внутри ChatterBot, явно указывать это не нужно.

Адаптер Multi Logic является встроенным классом и явно не определен в коде. Вы можете увидеть это утверждение во вводной части:"ChatterBot внутренне использует специальный логический адаптер, который позволяет ему выбирать лучший ответ, генерируемый любым количеством других логических адаптеров. "Это ссылка - http://chatterbot.readthedocs.io/en/stable/logic/multi-logic-adapter.html

Кроме того, аналогичный запрос уже доступен в потоке стека. Порекомендуйте это также. Ошибка при использовании Chatterbot

Лучший матч

Адаптер - это адаптер по умолчанию для chatterbot, вам не нужно явно указывать это. Дополнительная информация http://chatterbot.readthedocs.io/en/stable/logic/index.html

И вам код должен понравиться

# -*- coding: utf-8 -*-
from chatterbot import ChatBot

bot = ChatBot(
    "English Bot",
    logic_adapters=[
        "chatterbot.logic.MathematicalEvaluation",
        "chatterbot.logic.TimeLogicAdapter"
    ]
)

# Print an example of getting one math based response
response = bot.get_response("What is 4 + 9?")
print(response)

# Print an example of getting one time based response
response = bot.get_response("What time is it?")
print(response)
Другие вопросы по тегам