Comments 10
Есть еще telebot.
Решения могу подсказать и показать (только там страшный хакатон-код), но из фишек получилось: 1) обеспечить inline, 2) когда модель уходила думать на 5 секунд делать вид, что бот что-то пишет. Ну и соответственно, делать все это по возможности асинхронно (как и у вас).
А в чём посыл?
Про, собственно, машинное обучение и нет ничего. "Модель" — две функции на питоне. Одна сохраняет файл, другая выдаёт из предопределенного списка результат через if/elif/else
. Что тут от машинного обучения, что от ИИ?
Бот — это по сути обёртка над запросами к API Telegram. При этом не самого лучшего качества, с большим количеством хардкода и нечитаемая. Это, впрочем, и не важно, раз обёртка нужна лишь как интерфейс к "модели" ИИ.
Но где взаимодействие с ИИ?
Если не принимать во внимание код взаимодействия с API (который легко можно заменить на любой из десятков врапперов), то останется класс с одним методом и пара глобальных функций, которые не делают ничего для того, о чём в заголовке сказано.
Получаем в итоге "Как отправить сообщение в Telegram и записать строку в лог".
«Когда-нибудь тут случится сложный ИИ, но, увы, пока нет. По крайней мере не в этой статье.»
>>> Бот — это по сути обёртка над запросами к API Telegram. При этом не самого лучшего качества
«Оговорюсь, что в первую очередь я специализируюсь на алгоритмических аспектах разработки и поэтому буду рад конструктивной критике решений кодерского характера от более сведущих в этом вопросе специалистов.» Можно чуть более конструктивно? Что конкретно стоит улучшить и почему?
Про машинное обучение в строгом смысле слова пока нет. Буду рад, если мне покажут имеющуюся (более развитую и написанную специалистами) библиотеку, пригодную к использованию в нужном мне виде (с мета-моделью и функцией перевода результата ее применения в понятный пользователю вид; и еще с возможностью регулярно обновлять данные со сторонних API).
Ваша мета-модель по большому счёту это
класс с реализацией единственного метода predict(). При этом, никакого отношения непосредственно к ML не имеет.
Никаких претензий к самому механизму обращения к апи у меня не было, как я написал. Для приложений аля-REPL большего и не нужно. Критиковать код не имеет смысла, раз это чисто академическая разработка для утилитарной конкретной задачи.
Вопрос не в том, зачем она вам. Зачем она другим? Для программ общего назначения есть множество более качественных альтернатив.
Мне непонятна цель, которая преследовалась.
Показать, что можно написать класс, который будет иметь один метод и по условию выдавать текст?
Показать что к апи телеграмма можно обращаться по http?
Ну это же просто заглушка для того, чтобы показать как оно работает.
>>> Вопрос не в том, зачем она вам. Зачем она другим?
Кажется «другие» в основном не против — судя по статистике апвотов/даунвотов, добавлений в закладки и подписок за последние сутки.
в чем была особенность?
PS использую github.com/eternnoir/pyTelegramBotAPI
вполне себе хорошая библиотека.
Небольшая библиотека для применения ИИ в Telegram чат-ботах