Creating a new output adapterΒΆ

You can write your own output adapters by creating a new class that inherits from chatterbot.output.OutputAdapter and overrides the necessary methods established in the OutputAdapter class.

To create your own output adapter you must override the process_response method to return a Statement object.

Note that you may need to extend the __init__ method of your custom output adapter if you intend to save a kwarg parameter that was passed into the chat bot’s constructor. (An API key might be an example of a parameter you would want to access here.)

from chatterbot.adapters import Adapter


class OutputAdapter(Adapter):
    """
    A generic class that can be overridden by a subclass to provide extended
    functionality, such as delivering a response to an API endpoint.
    """

    def process_response(self, statement, session_id=None):
        """
        Override this method in a subclass to implement customized functionality.

        :param statement: The statement that the chat bot has produced in response to some input.

        :param session_id: The unique id of the current chat session.

        :returns: The response statement.
        """
        return statement