Превращаем mp3 в ноты с Sheet Sage: впечатления и результаты | 09 мая 2024 года, 21:47

Поигрался немного с конвертацией mp3-музыки в ноты. Sheet Sage называется. Скармливаешь ему youtube-ссылку, он выдает PDF с нотами и midi. Результат не то чтобы хорош, но выше моих ожиданий. Тут два видео — одно с оригинальной дорожкой, другое — как звучит midi (я чуть поменял дефолтные инструменты) и тут же ноты.

как звучит:

LLAMA 3 в действии: как я анализировал книгу о Маске на ноутбуке | 05 мая 2024 года, 19:03

Экспериментирую с LLAMA 3 от Facebook. Есть ее модификация llama3-gradient:8b-instruct-1048k-q6_K, у которой контекстное окно в 1М токенов (это где-то 2 мегабайта). Есть и больше. Я скармливаю туда всю книжку про Элона Маска (рекомендую, кстати!) и она выдает неплохой саммари — причем быстро выдает, вот любой текст со скриншота генерится где-то за 40-60 секунд. При этом это еще относительно слабая модель (8B), у фейсбука есть 70B. Но тут главная фишка, что все это работает локально на ноутбуке. Не нужно платить за API, работает довольно быстро, скрипт маленький, помещается на экране.

Пока все-таки есть некоторые шероховатости — например, на прямые вопросы по тексту (вопросы, на которые я точно знаю ответы), система не всегда уверенно дает ответы. Когда отправляешь текст сильно меньше, то все работает.

Про мою кросс-публикацию блогов | 03 мая 2024 года, 18:46

Доработал механизм кросс-публикации на русскоязычный и англоязычный блоги. Во-первых, я разобрался, как сгруппировать посты по темам, присвоить им теги, и отнести к категории. Плюс это еще делается на лету для новых постов. Я попозже напишу на hybrismart статью, но смысл в том, что сначала создаются openAI векторы для всех постов, потом через KMeans они разбиваются на 50 групп и сортируются по дальности от центра, затем берутся первые посты (так, чтобы не выходило за рамки N Кб), и скрипт спрашивает openai, по какой теме этот кластер постов. В итоге у меня получается 50 тем, из которых я выбираю, скажем, Арт или Книги, и затем уже вытаскиваю все посты, близкие к теме арта или книг, опять же отсортированные по дальности от темы. Выходит не очень точно, особенно для постов, в которых мало текста. Поэтому каждый пост скармливается LLAMA3 8B локальной, на ноуте, и та решает, правда ли он в этой теме или нет. В целом, тоже с редкими ошибками, но из 2000 найденных скриптом по близости он оставил 600 по теме арта, и в целом неплохо.

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

Я уже раскидал посты на темы art, books, science. В целом, все автоматизировано, можно легко 10 новых тем еще сделать. Буду потихоньку делать. Пока теги только на beinginamerica, на raufaliev.com буду делать позже.

Кроме этого, если в посте есть ENG в скобках, то он на англоязычный сайт кидает кусок после ENG, а на русскоязычный — кусок после ENG below в скобках. Удобно, когда я сразу пишу пост на двух языках.

Заголовок у меня для архива делался через LLAMA3 8B, но openAI все-таки мощнее, но дороже. Для новых постов уже используется openAI GPT-4.

LLAMA3, да и OpenAI GPT-4, не очень хороши в придумывании заголовков текстам, которые слишком малы и неинформативны, и гонит иногда всякую пургу. Можете почитать и улыбнуться.

#TechStories

15 апреля 2024 года, 16:05

Опубликовал новую статью на Hybrismart — про delta detection в механизмах импорта данных и поисковой индексации. Только за счет него удалось смягчить тупизну систем выше по течению и в десять раз ускорить обновление данных

https://hybrismart.com/2024/04/15/delta-detection-and-incremental-updates-in-the-integration-processes-reducing-unnecessary-writes-to-the-database/

https://hybrismart.com/2024/04/15/delta-detection-and-incremental-updates-in-the-integration-processes-reducing-unnecessary-writes-to-the-database/

06 апреля 2024 года, 10:21

Написал подробную статью об одном интересном опыте на одном из проектов. Мне нужно было разобрать логику большого эксель файла — там несколько сотен довольно сложных формул, и работал он так: менеджер вводил с десяток параметров на одной вкладке, и все остальные были готовы для печати сметы для клиента. Там довольно сложная специфика и сложные товары, с массой особенностей типа с таким-то товаров должен идти такой-то сервис, а вот тут нужно умножать на два если там четыре. Никто у клиента до конца это не понимал, оно просто работало больше десяти лет, и все эти десять лет люди по чуть-чуть подправляли там логику, в пределах своего понимания. Документации не было, но даже если бы была, она бы только мешала, потому что сделанное потом по документации наверняка бы не билось с тем, что выдает Excel, и избежать реинженеринга все равно не удалось бы.

Я тогда поломал голову, как сделать этот реинжиниринг возможным в конечное время, исчисляемое единицами недель, и придумал решение, основанное на функциональном программировании на Groovy.

Публикую подробный разбор решения и репозиторий с кодом. Код пришлось написать с нуля для статьи, как и придумать эксель для демонстрации (в сотни раз проще того).

https://hybrismart.com/2024/04/06/how-i-reverse-engineered-huge-excel-file-full-of-complex-formulas/

https://hybrismart.com/2024/04/06/how-i-reverse-engineered-huge-excel-file-full-of-complex-formulas/

26 сентября 2023 года, 10:09

Зацените как мой поиск работает, по 14000 страниц пока.

Запрос может быть на любом языке.

Например, на русском “За небольшими растениями и высокими деревьями возле пруда, лес раскрывает высокие башни из светлой древесины, гладкоствольные деревья и темное, насыщенное дерево.”

Он выдает английский оригинал

“…Beyond the bushes and the mighty , crowding cedars around the lake , the forest opened — feathered spires of balsa , clean- trunked locust and mahogany…”

02 сентября 2022 года, 18:08

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

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

С экономической точки зрения проще было выбросить кресло и купить новое б/у. Подушки обошлись в ~70 долларов, включая ткань, поролон, нитки, молнию и около 6 часов на работу – это с учётом часов 20 перед этим на всякое разное другое, чтобы с подушками уже не ошибаться и с первого раза сделать более-менее правильно.

30 августа 2021 года, 16:23

Напечатал на 3D-принтере держатель для бутылки. Ее обычное место занято велозамком, да и такое положение гораздо более удобное: легко брать и легко класть обратно. А на место, где обычно крепится бутылка я планирую треугольную велосумку. Инженерное счастье – когда что-то придумал, и вот оно, работает. Первые 30 км уже откатало

Быстрый Прототип для Умной Миски: Первый Шаг к СSmart Feeding | 09 августа 2021 года, 19:05

Первый быстрый прототип умной миски для собаки. Сделал за последние два часа из подручных материалов. Arduino внутри картонной коробки отсылает вес корма на сервер (logz) каждую секунду. Понаблюдаем. Не исключено, что Юки разнесет эту конструкцию довольно быстро. Но прототип он на то и прототип. Вообще в планах поставить платформу на такие же весы, где будет стоять собака едя, и заодно взвешивать и собаку. Это относительно несложно (только габаритно), но забавно будет смотреть, как граммы из тарелки перелетают в собаку. Также в планах сделать дозатор, который будет насыпать корм по расписанию и ровно столько, чтобы заполнить миску. Тоже ничего сложного, нужно чтобы теперь руки дошли.

05 июня 2021 года, 00:56

Я не говорил, что я волейболом увлекся? Только вылезла из инфракрасной печи. Размер около 10 см. Сам дизайн, конечно, не мой, но я уже несколько дней подряд учусь как такое делать в Blender по фото с нуля.