Гига Писарь: полторы недели после первой статьи. Сколько установок и какие грабли. gigaam.. gigaam. gigachat.. gigaam. gigachat. macOS.. gigaam. gigachat. macOS. Open source.. gigaam. gigachat. macOS. Open source. qwen.. gigaam. gigachat. macOS. Open source. qwen. вайбкодинг.. gigaam. gigachat. macOS. Open source. qwen. вайбкодинг. гига писарь.. gigaam. gigachat. macOS. Open source. qwen. вайбкодинг. гига писарь. диктовка.. gigaam. gigachat. macOS. Open source. qwen. вайбкодинг. гига писарь. диктовка. локальная нейросеть.. gigaam. gigachat. macOS. Open source. qwen. вайбкодинг. гига писарь. диктовка. локальная нейросеть. распознавание речи.

С моей первой статьи прошло чуть больше недели, я не ждал, что её вообще одобрят, у меня до этого даже аккаунта на Хабре не было.

Программированием я никогда не занимался, хотя интересно было всегда, а потом пришли новые технологии, и код за тебя теперь могут писать роботы. 

Пересказывать, как я решился сделать Писаря, не буду, про это была первая статья, здесь хочу подвести небольшой итог.

Если коротко: увидел, как GigaAM от Сбера распознаёт русскую речь, офигел и сделал диктовку для себя, а вам спасибо за такую высокую оценку, я её не ожидал.

Теперь к цифрам, не знаю, много это или мало, но кроме одной статьи на Хабре я нигде про Писаря не рассказывал, просмотры вы и так видите под первой статьёй, а установок уже больше четырёх сотен. Приятно.

Ещё меня заметили на Хабре и предложили вести блог, я с удовольствием согласился, мне это ничего не стоит, и мне это интересно, а вам, возможно, будет полезно посмотреть, как не программист дорабатывает приложение и как оно расходится по людям, какие хотелки появляются, на какие сложности я натыкаюсь и как их решаю.

Скачать и обновиться

После статьи посыпались баги, я разумеется их правил, и версии пошли одна за другой, а значит, нужно было как‑то обновляться, тут была первая засада, так как опыта у меня не было, сначала я сделал как проще: приложение сообщало, что вышла новая версия, и отправляло человека на страницу GitHub, а там список файлов с непонятными названиями, разработчику, даже начинающему, всё ясно, человек с улицы привык нажать одну кнопку «Установить», а тут надо угадать, какой из файлов качать.

Переделал, на сайте теперь кнопка «Скачать для macOS» которая сразу отдаёт образ, открываешь его, перетаскиваешь Писаря в Программы, как любое приложение на маке, жалобы на установку после этого прекратились.

Разрешения

С разрешениями вышло похоже, Писарю нужны два доступа: микрофон, чтобы слышать, и «Универсальный доступ», чтобы вставлять текст в чужие приложения, сначала я сделал окно с одной кнопкой «Разрешить». Она перекидывала в системные настройки, а там длинный список приложений, где надо найти Писаря и включить тумблер, опять же, для человека с улицы вещь неочевидная, многие на этом застревали.

Переделал, теперь у каждого доступа своя кнопка. Микрофон даётся одним нажатием прямо в окне, с «Универсальным доступом» так нельзя Apple не разрешает приложениям выдавать его самим себе, поэтому перед переходом в настройки Писарь показывает подсказку с нарисованным тумблером: найди вот такой и включи, когда доступ дан, кнопка зеленеет, а в конце появляется поле, где можно сразу попробовать первую диктовку.

Папка «Загрузки»

Третья история про папку «Загрузки». Человек скачал архив, распаковал и запустил Писаря прямо оттуда, так делают почти все, я сам так делаю. Оказалось, macOS запускает такие приложения из скрытой временной копии, снаружи всё работает, но заменить само себя приложение уже не может, а когда приходит обновление, человек жмёт «Обновить», а в ответ получает ошибку «нет прав», выглядит так, будто баг.

Об это мне тоже написали, то есть нужно было удалять старую копию и ставить заново.

Теперь Писарь при запуске сам замечает, что лежит не в Программах, и предлагает переехать одной кнопкой, а новые пользователи получают образ, где сразу нарисовано: перетащи сюда, обе дороги ведут в Программы, и дальше обновления ставятся сами.

Если у вас обновление падает с ошибкой про права, это оно. Старая версия сама себя уже не вылечит, скачайте образ с сайта заново, перетащите в Программы и запускайте оттуда, модель и настройки останутся на месте.

Мозг и маки с 8 ГБ

Самая долгая история случилась с Мозгом, напомню так в Писаре называется нейронка, которая правит текст по голосовой команде никуда его не отправляя, надиктовал сумбурно, сказал в конце «Писарь, исправь», и получил нормальный текст. Можно попросить сократить, перевести, сделать мягче. Все локально, наружу ничего не уходит.

Сначала Мозг умел только это: надиктовал, в конце добавил «Писарь» и команду. Например, говоришь: «Короче, я тут посмотрел отчёт, ну, в общем, там цифры не сходятся, надо бы перепроверить. Писарь, исправь». А в документе появляется: «Я посмотрел отчёт, цифры не сходятся, надо перепроверить».

Следом появилась правка уже написанного текста, выделяешь любой кусок в любом приложении, зажимаешь клавишу диктовки и говоришь, что с ним сделать: «сделай короче», «переведи на английский», «перепиши вежливее». Результат встаёт на место выделенного. Не понравилось, жмёшь отмену, и старый текст возвращается. Работает это везде, кроме терминалов.

Но тут меня ждала еще одна засада, у меня то мак с 16 ГБ памяти, и у меня всё летало, а потом товарищ с маком на 8 ГБ написал что мозг долго думает и отвечает «не справился», стал разбираться, модель Qwen целиком грузилась в память и занимала там около 3 ГБ, когда открыт браузер и пара программ, свободных трёх гигов на таком маке может не быть, запуск растягивается на минуты, а Писарь ждал сорок секунд и сдавался.

Сначала починил очевидное, перед первым запуском нейронки Писарь смотрит, сколько памяти свободно. Если мало, говорит прямо: свободно 2 ГБ, нужно 3, запускать или нет, пока нейронка стартует, на экране идут секунды и процент занятой памяти, если что‑то сломалось, пишет причину.

Потом решил взять модель поменьше, нашёл лёгкую версию той же Qwen, которая весит около гига и стартует за две секунды, прогнал на своих командах. Оказалась быстрая, но бестолковая, выкинул.

Помогло другое. Ту же самую умную модель можно сжать сильнее. Было 2,5 ГБ, стало 1,9, в памяти занимает на 0,65 ГБ меньше, на тех же командах сжатая отвечает не хуже, попробовал сжать ещё сильнее, и тут модель поплыла, остановился на середине.

Заодно выключил у модели привычку рассуждать вслух перед ответом, размышления не нужны, а ответ стал приходить заметно быстрее, на том самом маке с 8 ГБ теперь всё работает.

Отдельно про GigaChat. В Мозге на выбор две модели, вторая как раз от Сбера. Добавил я её из уважения к команде, которая выложила GigaAM, но объективно она большая: файл 6,5 ГБ, в памяти занимает около семи. На маке с 8 ГБ её даже пробовать не стоит, а на 16 она заметно теснит всё остальное, в настройках она остаётся, кому интересно, включайте. сам я погонял обе и советую Qwen: он шустрее и влезает почти везде, и если Сбер когда‑нибудь выложит версию поменьше, с удовольствием поставлю её первой.

Пулреквест

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

Для меня это отдельная радость, одно дело, когда ты сам что‑то ковыряешь. Другое, когда кто то сел, разобрался в твоём коде и прислал готовую вещь. 

Что дальше, если вам всё это интересно, пишите в комментариях: чего не хватает, что работает криво, что бы вы добавили. Я всё читаю. И подписывайтесь на блог, я тут что‑то разошёлся и буду дальше рассказывать, как развиваю проект.

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

Скачать Писаря

Код: github.com/moznoazachem/giga‑pisar

Автор: ladapriora

Источник