def METHOD_NAME(self, question, mode='PRODUCTION'):
    rst = self.parse_question(question)
    if mode == 'NLP_DEBUG':
        # with open('NLP results', 'a') as f:
        #     f.write('===========================')
        #     f.write('\n')
        #     f.write(question + '\n')
        #     f.write(json.dumps(rst, indent=4) + '\n')
        #     f.close()
        return rst
    elif mode == 'PRODUCTION':
        MarieMessage('AGENT PARSE RESULT {}'.format(rst))
        _inputs, _outputs, _url = self.agent_query_parser.parse(rst)
        if _inputs is None or _outputs is None:
            return None
        MarieMessage(_inputs)
        MarieMessage(_outputs)
        MarieMessage('====================================================')
        t_a = ThermoAgent()
        response = self.agent_caller.call(_inputs, _outputs, _url, t_a)
        return response