Saved AI — Telegram бот, который превращает голосовое сообщение в структурированную заметку
Всем привет! Меня зовут Лена. Я разработчик Saved AI — телеграм бота, который трансформирует голосовые сообщения в структурированные заметки
Я, как и многие другие, довольно часто использую Saved Messages в Telegram как заметки. Это удобно, но есть два существенных недостатка - отсутствует распознавание речи, текст заметки не структурируется. Исключив все минусы Saved Messages и оставив положительные стороны я придумала Saved AI.
Как работает Saved AI
Бот получает от пользователя голосовое или текстовое сообщение и превращает его в заметку.
Ниже пример работы бота. Он получил голосовое сообщение обработал его, превратил в сырой текст, затем убрал междометья, исправил ошибки, разделил на пункты и выделил тему. — Текст стал оформленным и читаемым.



К сожалению, любая нейросеть может ошибаться. На этот случай я предусмотрела кнопку под сообщением, позволяющую показать оригинал заметки.
Кроме того, есть режим «GPT». По команде Saved AI из заметочника трансформируется в личного ассистента, отвечающего на любые вопросы. Их можно задавать как в текстовом, так и голосовом виде.


Saved AI довольно быстро обрабатывает запросы. Обработка текстовых сообщений обычно происходит моментально, а на обработку голосового сообщения длительностью 1 минуту уйдет не больше 30 сек.

Через тернии к Savedам
Первая проблема с которой я столкнулась при создании Saved AI — поиск языковой модели для структуризации текста. Критерии были следующими:
Поддержка в России
Наличие API
Невысокая стоимость запросов
Поиск занял очень много времени. В результате исскомая модель была найдена среди недавних разработок и полностью меня устроила.
Трансформацию голосового сообщения в текст я доверила Whisper. Это open source модель, поддерживающая русский язык.
Бот был написан с использованием фреймворка aiogram 3.x, полноценный релиз которого состоялся в сентябре 2023 года. По aiogram 3.x. пока что не очень много информации помимо официальной документации, и Сopilot тоже бесполезен, путается в версиях, галлюцинирует и придумывает несуществующие функции. Очень помог этот гайд https://mastergroosha.github.io/aiogram-3-guide/
В моем боте для редактирования сообщений используется FSM (Finite State Machine). С ним и aiogram 3.x. тоже возникла проблема. В механизм конечных автоматов прошлой версии aiogram была встроена поддержка Mongo для хранения состояний между этапами диалога с ботом, в aiogram 3.x. её нет, поэтому пришлось писать свою обертку.
Ссылка
Бот находится в Beta версии. Если кто-то протестирует и напишет отзыв, буду благодарна!
Всем удачи!