Сделал личного ИИ-ассистента
Есть много задач, которые требуют много времени но не особо мне интересны (заполнение документов, подача написанных статей в журналы и пр.), кроме того для обновления курса - надо проанализировать как предыдущие лекции, так и обновленные и составить конспекты\вопросы\тайм-коды.
Как это всё автоматизировать?
Думаю, многие слышали про автоконспектирование, но, как правило, всё запускается в облаке — ассистент может положить запись в открытую ссылку без пароля — далеко не всегда это может быть хорошей опцией.
Собственно, потому и пришла идея взять готовое и адаптировать под личные задачи.
Первоначально — делал MVP на ноутбуке — начал с whisper.cpp. Проблема с ней в том, что она генеративная, зацикливается (делает вид, что расшифровка идёт, но генерирует одну и ту же фразу) + требовательна к памяти. Тем не менее, подход оказался рабочим, расшифровка получалась, но что с ней делать? для последующей обработки — нужна локальная LLM. Та же история с зацикливанием, если модель небольшая.
После ряда экспериментов — MVP себя оправдало, но как вы сами догадались — вычислений много, да и ноутбук надолго не оставишь включенным. Некоторое время думал над вариантами и купил мини-сервер (помещается буквально на ладони) с 128 ГБ объединённой памяти и Ryzen AiMax. Расчёт был на то, что под примерно такие характеристики и оптимизируют открытые модели. На данный момент расчет уже оправдал себя, поскольку недавно вышедшая квантизированная Qwen 3.8 (125 млрд, инференс по 6млрд) там вполне может жить и генерировать ответы со скоростью до 30 токенов/с (может падать до 15, если контекста много). Этого вполне хватает, чтобы поставить задачу и уйти заниматься своими делами, в целом, модель подходит, в т.ч. для генерации кода.
В итоговом решении — LLM от 32B параметров, GigaAM (сберовская модель, которая не страдает от зацикливаний) + pyannotate только для своего голоса, чтобы разметить фрагменты речи, тишину, и другие моменты.
Аппетит приходит во время еды, да и зачем такому железу простаивать — поэтому повесил туда локального бота. Можно скинуть свое голосовое с описанием задач\результатов и на выходе получить задачи для отправки в трекер. Связка с Telegram / почтой / Яндекс.Трекером / YouGile / Max — может быть настроена, можно, например, запрашивать план задач на сегодня.
Как может работать в теории
Отправляешь запись → на выходе расшифровка, задачи для каждого и мемо. Всё локально.
Но начиналось, на самом деле, всё с немного другой идеи, которая требует ещё больших ресурсов — об этом завтра ;)
@geologistprogrammer | VK | max
Post #190
264
- 👍 16
- 🔥 3
- 👏 1