Comments 2
Во время реализации очереди я столкнулся с проблемами, связанными с несовместимостью Celery и python‑telegram‑bot, которые не позволяли после обработки задач сразу отправлять сообщения пользователям. Немного покопавшись, я остановился на реализации, когда в Celery после обработки задачи я отправляю ответ напрямую в чат, используя request и Telegram API, указав соответствующий чат и креды для бота.
Что за несовместимость?
Зачем вообще телеграм, почему не веб сайт, у веб сайта нет ограничений типа нельзя закачать в бота больше чем 20мб файл или показать юзеру текст больше 4к без разрывов.
Максим, спасибо за статью!
Интересно было посмотреть за ходом рассуждения и проектирования архитектуры, очень хороший пример.
Выскажу, сли не против, свои мысли по боту (поюзал немного)
1. Неудобное меню работы с опциями. В идеале - просто кнопки в самом боте
2. Закинул 7-10 абзацев текста (сравнение брокеров сообщений) - озвучка и саммаризация послали меня куда подальше, обидно)
3. Сократил текст в 2 раза - саммари также меня послала, опять обидно) текст вроде уже совсем небольшой
4. Попросил на короткий текст сделать рекомендации и опрос - все подвисло, ничего не получил.
Возможно где-то что-то сбойнуло. Ну да ладно.
5. Работ с заметками неудобна. Представил, что у меня будет 10-20-50 заметок - как среди них найти ту, что мне нужна? Она была записана скажем 3 мес назад, первоначальные слова я забыл. Перебирать? Геморно. Очевидно не хватает заголовка - его надо вводить пользователю и сразу LLM генерировать (так делает Qwen вроде в истории работы с ней)
Главный вопрос для меня - в практической реализации (продуктовом смысле).
1. Вы сами бота юзаете? В каких сценариях? Решаете свои боли/потребности?
Возможно сделали просто, чтобы погонять историю с "чистой архитектурой", набить руку. Тогда все ок, задача выполнена.
2. Увидел возможное закрытие своей боли/потребности.
Часто приходится читать объемные большие тексты (ИИ, LLM, астрономия, математика, управление, иностранные языки, финансы, крипта).
Пользуюсь Заметками в эппловской экосистеме и Обсидианом. Сохраняю ссылки, цитаты из статей/книг, какие-то свои мысли.
Но фишка в том, что это "статика". Если мне что-то надо вспомнить, освежить - надо пойти в заметки, найти нужное, перечитать еще раз, возможно перейти по урлам и заново освежить в памяти информацию (часто большой текст).
И тут как будто в вашем боте есть 2 классные фичи - саммаризация и опросы.
- саммари - на основе моей заметки получить суть/выжимку, чтобы активировать остаточные знания здесь и сейчас, без необходимости перечитывать все заново (+ возможность перейти к моей заметки или более полному объяснению от LLM)
- опрос - имхо, это самое главное. Тут речь идет о работе краткосрочной и долгосрочной памяти. Сегодня я прочитал что-то (допустим сводная инфа по всем future-временам в английском, их там штук 5 возможных выражений). Послезавтра я помню 2-3 из 5. Через неделю - 1-2. И вот тут было оч круто, если бы бот такой - а давай по-бырому освежим Future tenses? Вот тебе опрос-угадайка на 5-10 предложений - смачить предложения и времена? Или вот тебе предложения - проставь соответствия временам. Или чувак, а чем future continius отличается от be going to и 5 вариантов ответа. И вот тут будет происхоидть закрепление нужного мне материала (правило иностранного языка), пропихивание его из кратковеременной памяти в долговременную. Это может касаться чего угодно - задач векторной алгебры, падежи немецкого, отличия уровней KMM модели, варианты применения брокеров сообщений..
3. Разовью последнюю идею в "продукт"
- суть - инструмент для запоминания/повторения любого информационного материала + тестирование этого знания
- целевая аудитория - все те, кому зачем-либо нужно "зазубрить" информацию почти наизусть, научиться оперировать ею в своей памяти/уме за секунды, без подглядки в справочники (студенты готовятся к экзаменам, сдача тестов на ПДД, подготовка к важному собеседованию).
- осн инструменты/фичи - ввод заметки (MVP - только текст), саммаризация, проверка знаний через опросы, постановка заметки на проверку + расписание проверки, оценка теста, объяснение материала "другими словами" на основе заметки
- варианты монетизации - бесплатно хранение и работа с 5-ю заметками (дать получить профит), платно - 5+ заметок. Стоимость рассчитать, исходя из предполагаемого кол-ва саммаризаций/тестов на одного юзера в мес + затраты на LLM/сервер, умноженные на 2. Очень грубо, всегда можно подтюнить
- реализация - на MVP через тг-бота, т.к. удобно получать мини опросы именно в тг
ПС. Сорян, за поток мысли, если что ;)
Мой путь от идеи до релиза на примере простого чат-бота с ИИ