def __init__(self, **kwargs): super(LogicAdapter, self).__init__(**kwargs) from chatterbot.conversation.comparisons import levenshtein_distance from chatterbot.conversation.response_selection import get_first_response if 'tie_breaking_method' in kwargs: raise DeprecationWarning( 'The parameter "tie_breaking_method" has been removed. ' + 'Instead, pass a callable to "response_selection_method". ' + 'See documentation for details: ' + 'http://chatterbot.readthedocs.io/en/latest/adapters/response_selection.html#setting-the-response-selection-method' ) # Import string module parameters if 'statement_comparison_function' in kwargs: import_path = kwargs.get('statement_comparison_function') if isinstance(import_path, str): kwargs['statement_comparison_function'] = import_module(import_path) if 'response_selection_method' in kwargs: import_path = kwargs.get('response_selection_method') if isinstance(import_path, str): kwargs['response_selection_method'] = import_module(import_path) # By default, compare statements using Levenshtein distance self.compare_statements = kwargs.get( 'statement_comparison_function', levenshtein_distance ) # By default, select the first available response self.select_response = kwargs.get( 'response_selection_method', get_first_response )
def __init__(self, **kwargs): super(LogicAdapter, self).__init__(**kwargs) from chatterbot.conversation.comparisons import levenshtein_distance from chatterbot.conversation.response_selection import get_first_response if 'tie_breaking_method' in kwargs: raise DeprecationWarning( 'The parameter "tie_breaking_method" has been removed. ' + 'Instead, pass a callable to "response_selection_method". ' + 'See documentation for details: ' + 'http://chatterbot.readthedocs.io/en/latest/adapters/response_selection.html#setting-the-response-selection-method' ) # Import string module parameters if 'statement_comparison_function' in kwargs: import_path = kwargs.get('statement_comparison_function') if isinstance(import_path, str): kwargs['statement_comparison_function'] = import_module( import_path) if 'response_selection_method' in kwargs: import_path = kwargs.get('response_selection_method') if isinstance(import_path, str): kwargs['response_selection_method'] = import_module( import_path) # By default, compare statements using Levenshtein distance self.compare_statements = kwargs.get('statement_comparison_function', levenshtein_distance) # By default, select the first available response self.select_response = kwargs.get('response_selection_method', get_first_response)
def __init__(self, **kwargs): super(ActionAdapter, self).__init__(**kwargs) delegate_adapter_path = kwargs.get("delegate_adapter") self.delegate_adapter = import_module(delegate_adapter_path)( **kwargs) or TerminalAdapter(**kwargs) self.action_map = kwargs.get("action_map", {})
def add_adapter(self, name, adapter): NewAdapter = import_module(adapter) adapter = NewAdapter(self.context, **self.kwargs) setattr(self.context, name, adapter) return adapter
def __init__(self, adapter, database_name): if (type(adapter) == str): StorageAdapter = import_module(adapter) else: StorageAdapter = adapter self.storage_adapter = StorageAdapter(database_name) self.recent_statements = []
def __init__(self, name, **kwargs): kwargs['input_adapter'] = ( 'chatterbot.adapters.input.VariableInputTypeAdapter') kwargs['output_adapter'] = ( 'chatterbot.adapters.output.OutputFormatAdapter') kwargs['output_format'] = 'text' connector_name = kwargs.get('connector', 'connectors.CurlConnector') super(FlaskChatBot, self).__init__(name, **kwargs) self.host = kwargs.get("host", "127.0.0.1") self.port = kwargs.get("port", 5000) self.app = Flask(__name__) ConnectorClass = import_module(connector_name) self.connector = ConnectorClass(self)
def add_adapter(self, adapter, **kwargs): NewAdapter = import_module(adapter) adapter = NewAdapter(**kwargs) if issubclass(NewAdapter, StorageAdapter): self.storage_adapters.append(adapter) elif issubclass(NewAdapter, LogicAdapter): self.logic.add_adapter(adapter) elif issubclass(NewAdapter, IOAdapter): self.io_adapters.append(adapter) else: raise UnknownAdapterTypeException()
def process_response(self, statement): text = statement.text if not text: return self.delegate_adapter.process_response(statement) tokens = text.split() for token in tokens: if token[0] == "{" and token[-1] == "}": action_token = token[1:-1] action_executor_s = self.action_map.get(action_token) if action_executor_s: action_executor = import_module(action_executor_s) token_response = action_executor() text = text.replace(token, token_response) return self.delegate_adapter.process_response(Statement(text))
def load_corpus(corpus_path): """ Return the data contained within a specified corpus. """ from chatterbot.utils.module_loading import import_module from types import ModuleType corpus = import_module(corpus_path) if isinstance(corpus, ModuleType): corpora = [] for module in corpus.modules: for key in list(module.keys()): corpora.append(module[key]) return corpora return [corpus]
def __init__(self, name, **kwargs): kwargs['input_adapter'] = ( 'chatterbot.adapters.input.VariableInputTypeAdapter') kwargs['output_adapter'] = ( 'chatterbot.adapters.output.OutputFormatAdapter') kwargs['output_format'] = 'text' connector_name = kwargs.get( 'connector', 'connectors.CurlConnector' ) super(FlaskChatBot, self).__init__(name, **kwargs) self.host = kwargs.get( "host", "127.0.0.1" ) self.port = kwargs.get( "port", 5000 ) self.app = Flask(__name__) ConnectorClass = import_module(connector_name) self.connector = ConnectorClass(self)
def test_import_module(self): datetime = import_module('datetime.datetime') self.assertTrue(hasattr(datetime, 'now'))
def test_import_module(self): datetime = import_module("datetime.datetime") self.assertTrue(hasattr(datetime, 'now'))
def __init__(self, adapter, database_name): StorageAdapter = import_module(adapter) self.storage_adapter = StorageAdapter(database_name) self.recent_statements = []