Exemple #1
0
# Выполняем привязку обработчиков
bot.add_event_handler(u'weather_forecast', on_weather_forecast)
bot.add_event_handler(u'check_emails', on_check_emails)
bot.add_event_handler(u'alarm_clock', on_alarm_clock)

print_tech_banner()

bot.start_conversation(user_id)

while True:
    print('\n')

    # В самом начале диалога, когда еще не было ни одной реплики,
    # бот может сгенерировать некое приветствие или вопрос для
    # завязывания беседы. Поэтому сразу извлечем сгенерированные фразы из
    # буфера и покажем их.
    while True:
        answer = bot.pop_phrase(user_id)
        if len(answer) == 0:
            break

        print_answer(u'B:>', answer)

    question = input_kbd('H:>').lower()
    if len(question) > 0:
        if question in ('\exit', '\q', '\quit'):
            break

        bot.push_phrase(user_id, question)
Exemple #2
0
parser.add_argument('--token', type=str, default='', help='Telegram token for bot')
parser.add_argument('--data_folder', type=str, default='../data')
parser.add_argument('--w2v_folder', type=str, default='../data')
parser.add_argument('--facts_folder', type=str, default='../data', help='path to folder containing knowledgebase files')
parser.add_argument('--models_folder', type=str, default='../tmp', help='path to folder with pretrained models')

args = parser.parse_args()

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)
Exemple #3
0
text_utils.load_dictionaries(data_folder)
bot = AnswerBuilder()
bot.load_models(models_folder)

word_embeddings = WordEmbeddings()
word_embeddings.load_wc2v_model(os.path.join(models_folder, 'wordchar2vector.dat'))
for p in bot.get_w2v_paths():
    word_embeddings.load_w2v_model(os.path.join(w2v_folder, os.path.basename(p)))

max_nb_premises = 1

while True:
    print('\n')
    phrases = []
    while True:
        phrase = input_kbd(u'H:>')
        if len(phrase) > 0:
            phrases.append(phrase)
            if phrase[-1] == u'?':
                break
            elif len(phrases) == max_nb_premises+1:
                break
        elif len(phrases) > 1:
            break

    if len(phrases) < 1:
        print_error('At least 1 phrase expected!')
        continue

    premises = phrases[:-1]
    question = phrases[-1]