▶ видео
Вместе с другом джипититом всю неделю батрачили над ИИ модулем в моем трекере финансов. Он отвечал за весь фронтенд, потому что мне лень было в трех языках колупаться, ну и подсказывал мне по беку
Задача у ии следующая:Расшифровать голосовуху в текст. Потом из текста выгрузить список покупок и суммы и распределить по категориям (пока что просто угадывает их)
Модель: GigaChat 2 Pro
Пайплайн:
1. Запрашиваю у сбера токен доступа, который 30 минут работает
2. Юзер записывает голос средствами браузера. Сервер преобразует в wav 16 кгц через ffmpeg
3. Дорожка отправляется с первым промптом на расшифровку, а модель вовзращает текст
4. Из базы выгружаются категории трат, модели уходит новый промпт с расшифровкой и айдишниками и названиями категорий
5. Модель по шаблону формирует jsonчик, распределяя покупки по категориям и указывая цифрами траты
И все. Работает очень прикольно и достаточно быстро. Каких-то отдельных библиотек особо не надо, самые обычные запросы по rest (хотя я httpx поставил для асинхронных запросов и загрузки файла)
Будущие правки и улучшения:
— Сейчас модель может в название покупки вносить целый отрезок «Купил хлеб в пятерочке», а должно быть просто «Хлеб». Тут надо просто промпт поправить и расширить контракт, чтобы модель колупала название покупки, а доп инфу возвращала в качестве комментария к транзакции
— Модель сейчас «Угадывает» к какой категории трат относится покупка. Я думаю, что добавлю короткие описания для категорий трат, чтобы можно было явно указать, что в категорию входит и передавать это модели вместе с промптом
P.S. Вино безалкогольное красное полусладкое или полусухое