Пример #1
0
def init_chatbot():
    if 'bot' not in flask_app.config:
        logging.info(u'init_chatbot: models_folder={}'.format(models_folder))

        text_utils = TextUtils()
        text_utils.load_dictionaries(data_folder)

        facts_storage = Files3FactsStorage(text_utils=text_utils,
                                           facts_folder=facts_folder)

        machine = SimpleAnsweringMachine(text_utils=text_utils)
        machine.load_models(data_folder, models_folder, w2v_folder)

        scripting = BotScripting(data_folder)
        bot = BotPersonality(bot_id='flask_bot',
                             engine=machine,
                             facts=facts_storage,
                             scripting=scripting,
                             enable_scripting=True,
                             enable_smalltalk=True)

        oct = OrderComprehensionTable()
        oct.load_file(os.path.join(
            data_folder,
            'orders.txt'))  # загружаем таблицу интерпретации приказов
        bot.set_order_templates(oct)

        def on_order(order_anchor_str, bot, session):
            bot.say(session,
                    u'Выполняю команду \"{}\"'.format(order_anchor_str))

        bot.on_process_order = on_order

        flask_app.config['bot'] = bot
        logging.info('init_chatbot complete')
Пример #2
0
def init_chatbot():
    logging.info(u'init_chatbot: models_folder={}'.format(models_folder))

    text_utils = TextUtils()
    text_utils.load_dictionaries(data_folder)

    facts_storage = Files3FactsStorage(text_utils=text_utils,
                                       facts_folder=facts_folder)
    bot = SimpleAnsweringMachine(facts_storage=facts_storage, text_utils=text_utils)
    bot.load_models(models_folder, w2v_folder)

    scripting = BotScripting(data_folder)
    bot.set_scripting(scripting)

    flask_app.config['bot'] = bot
    logging.info('init_chatbot complete')
Пример #3
0
facts_folder = os.path.expanduser(args.facts_folder)
models_folder = os.path.expanduser(args.models_folder)
data_folder = os.path.expanduser(args.data_folder)
w2v_folder = os.path.expanduser(args.w2v_folder)

telegram_token = args.token
if len(telegram_token) == 0:
    telegram_token = input_kbd('Enter Telegram token:')

# -------------------------------------------------------

bot = telegram.Bot(token=telegram_token)
print(bot.getMe())

logging.info('Loading answering machine models...')
text_utils = TextUtils()
text_utils.load_dictionaries(data_folder)

facts_storage = Files3FactsStorage(text_utils=text_utils, facts_folder=facts_folder)

answering_machine = SimpleAnsweringMachine( facts_storage=facts_storage, text_utils=text_utils)
bot.load_models(models_folder, w2v_folder)

# ------------------------------------------------------

updater = Updater(token=telegram_token)
dispatcher = updater.dispatcher

# -------------------------------------------------------

start_handler = CommandHandler('start', start)
Пример #4
0
init_trainer_logging('../../tmp/order_translator_srv.log'
                     )  # TODO: set folder for logging by command line

# app = Flask(__name__, template_folder="templates")

# To enable swagger UI console:
# pip install connexion[swagger-ui]

options = {"swagger_ui": True}
app = connexion.App(__name__, specification_dir='./', options=options)
app.add_api('swagger.yml')

logging.info('Initialize parser')

text_utils = TextUtils()
# text_utils.load_dictionaries('../')

engine = OrderTranslatorEngine(text_utils)
engine.load_model('../../tmp')
engine.load_anchor_orders('../../data/test_orders.txt')
set_engine(engine)


@app.route('/')
def home():
    return render_template('home.html')


if __name__ == '__main__':
    app.run(host='127.0.0.1', port=5000, debug=True)