Обновить
784.57

Python *

Высокоуровневый язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Large-v3 на Ryzen 5500U: как я оцифровал архив диктофонных записей без GPU и облаков

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели2.7K

Как превратить обычный ноутбук в автономную станцию расшифровки, если у вас нет мощной GPU, а облака не подходят по цене или приватности? В статье делюсь опытом создания локального конвейера на базе WhisperX для обработки сотен часов аудиоархива.

О чем пойдет речь:

Large-v3 на CPU: почему 40 ГБ RAM важнее видеокарты и как добиться стабильной работы без «замерзания» PyTorch.

От скрипта к приложению: как с помощью «вайб-кодинга» и Google Antigravity (Gemini 3.0) превратить одиночный скрипт в модульный менеджер очередей с Drag-and-Drop и пакетной обработкой.

Техническое «мясо»: установка через uv в один клик, борьба с конфликтами OpenMP и система пресетов (от Turbo до Russian Expert).

Реальные цифры: нагрузка на железо, температуры и честная скорость обработки на Ryzen 5500U.

Разбираем, как современные LLM позволяют собирать сложные инженерные инструменты «над» ML-моделями, даже не погружаясь в их низкоуровневую реализацию.

Репозиторий проекта: whisperx-batch-gui

Читать далее

Новости

Нейросетевой арт для начинающих

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.5K

В мире искусственного интеллекта есть много всего интересного и многие начинающие разработчики не могут определиться с тем, с чего начать погружение в этот мир. В этой статье мы познакомим читателя с одним из направлений работы с графикой – нейросетевом переносе стиля.

Перейти к статье

Как я построил Graph RAG систему с точностью 96.7% за 5 дней: от научных статей до production-ready пайплайна

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.1K

Я реализовал Graph RAG систему, которая комбинирует 5 техник из свежих научных статей (KET-RAG, HippoRAG 2, VectorCypher) в единый пайплайн с декларативным Datalog reasoning-движком, полной провенансной трассировкой и типизированным API. Результат: 174/180 (96.7%) на билингвальном бенчмарке из 30 вопросов, оценённых в 6 режимах retrieval. Три режима достигли 100%. В статье — архитектура, 10 уроков оптимизации и эволюция от 38% до 96.7% за 10 итераций.

Читать далее

Брокеры, инфраструктура и почему умер масс-маркет алготрейдинг

Уровень сложностиПростой
Время на прочтение12 мин
Охват и читатели4.8K

В начале февраля я узнал что в масленичную неделю в Москве состоится оффлайн мероприятие по алготрейдингу, которое будет посвящено биржевым алгоритмам.

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

А раз так, то я принял решение полететь на мероприятие и возможно получить новые ориентиры, познакомиться с людьми, взглянуть на рынок без маркетинговых очков. Получится ли это сделать? К концу статьи вы об этом узнаете.

Алгоклуб

Как организовать тестовую среду, сохраняя покой владельца данных

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели3.6K

Привет, сообществу Habr!

Хочу поделиться опытом с коллегами -  как мы решили одну из наболевших проблем нашей команды разработки – отсутствие полноты данных для тестирования реализованного функционала в условиях ограниченного доступа к реальным данным компании. Если вы работаете с персональными данными, то наверняка сталкивались с такой проблемой.

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

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

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

Читать далее

Urich: DDD и CQRS для микросервисов на Starlette без ручной раскладки роутов

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.2K

Когда строим бэкенд по DDD и CQRS, роуты и OpenAPI обычно собираем вручную. Urich делает иначе: описываешь ограниченный контекст одним объектом — маршруты и документация появляются сами. Обзор фреймворка на Starlette и примеры кода.

Читать далее

Разработка кастомного плагина FreeIPA для работы с ролями ALD PRO

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели3.5K

В работе с системами управления идентификацией, такими как ALD PRO (решение на базе FreeIPA), администраторы часто сталкиваются с рутинными операциями, которые в веб-интерфейсе выполняются долго и не поддаются автоматизации. Одна из таких задач — массовое создание и клонирование ролей с сохранением политик и привилегий.

Я хотел решить именно эту проблему: быстро копировать существующие роли в ALD PRO для новых организационных подразделений (OU), сохраняя все настройки и права. Веб-интерфейс не позволял делать это быстро, а главное — не давал возможности интегрироваться с системами автоматизации.

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

Читать далее

Лучший перевод Шекспира с точки зрения математики

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели4K

За переводы сонетов Шекспира брались многие мастера и любители. Мне стало интересным провести лексико-семантический анализ нескольких переводов 74 сонета и сравнить их с оригиналом. Я взял авторов, авторитет которых как поэтов и переводчиков вне сомнения Маршака и Пастернака. И двух переводчиков, не известных как поэты - Николая Гербеля и Модеста Чайковского. Я захотел проверить, кто из переводчиков точнее всего передал смысл, ритм и эмоции оригинала, используя алгоритмы машинного обучения.

Читать далее

Работа с объемными данными в Python для начинающих

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.8K

Наверняка каждый, кто начинает погружаться в анализ данных, сталкивался с этой классической проблемой. Вы скачиваете гигантский CSV-файл, по привычке пишете pd.read_csv(), запускаете ячейку и... кулеры начинают выть, система жутко тормозит, а в итоге скрипт падает с ошибкой нехватки памяти.

Первая мысль в такой ситуации — нужен компьютер помощнее или облачный сервер. На самом деле, чтобы переваривать огромные файлы, вовсе не обязательно наращивать оперативку. Проблема кроется в том, что по умолчанию мы пытаемся запихнуть весь объем данных в память целиком.

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

Читать далее

Базовый минимум. Часть 3:  RAG-системы

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели6.7K

Большая языковая модель это не источник актуальных сведений, а статистическая система, обученная на данных прошлого. Она не обращается к внешним базам знаний и не узнает о новых событиях. Все что она знает было усвоено на этапе обучения и зафиксировано в ее параметрах.

В современных прикладных системах это ограничение часто скрыто за инструментами, поиском и дополнительными модулями. Однако именно архитектурный подход Retrieval-Augmented Generation, RAG стал стандартным способом расширения возможностей модели без ее дообучения. Он позволяет подключать внешние базы знаний, работать с актуальными документами и заметно снижать количество галлюцинаций.

В третьей части серии Базовый минимум разбирается как устроен RAG и как реализовать его минимальную рабочую версию на практике.

Читать далее

Переверни его. Переверни наоборот

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели6.9K

Пара слов о том, как программисты разных конфессий справляются с самой очевидной задачей в Computer Science.

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

От питона до идриса

автоматизация браузера и развёртывание функций прямо из терминала

Время на прочтение3 мин
Охват и читатели7.2K

Notte — платформа для автоматизации браузера. Недавно мы выпустили CLI, который позволяет управлять браузерными сессиями, запускать AI-агентов, извлекать структурированные данные и развёртывать функции автоматизации — всё это прямо из терминала.

В этой статье разберём, что он умеет и как устроен.

Какую проблему мы решали

Большинство рабочих процессов автоматизации браузера начинаются локально. Вы пишете скрипт на Playwright или Puppeteer, он работает на вашей машине, а затем вы тратите время на его переработку под продакшн.

Notte CLI подключается напрямую к облачным браузерным сессиям. Браузер запущен не у вас — он работает у нас. Это означает, что то, что вы делаете в терминале, в точности совпадает с тем, что будет работать в продакшне.

Как работают сессии

Весь CLI построен вокруг сессий. Сессия — это живой экземпляр браузера (headless или headed), запущенный в облаке.

Запустить её можно так:

notte sessions start --headless

После старта сессия автоматически становится активным контекстом. Все последующие команды будут использовать её без необходимости каждый раз указывать ID сессии. Навигация, скрейпинг, клики, наблюдение — всё это идёт в одну и ту же сессию, пока вы её не остановите.

При запуске сессии поддерживается широкий набор настроек: кастомные viewport'ы, user agent'ы, ротация прокси, решение капч, файловое хранилище, переопределение CDP URL и сохранение профиля браузера.

Видимость

При запуске headless-сессии в выводе появляется viewer URL. Откройте его в браузере — и вы наблюдаете за живой сессией в реальном времени, пока команды выполняются в терминале. Удобно для отладки без переключения в отдельный интерфейс.

Читать далее

Генерация лабиринтов с использованием алгоритма Recursive backtracker

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9.8K

Расскажу о том, как сгенерировать рандомный лабиринт, используя алгоритм Recursive backtracker. Все подробности об алгоритме, структуре кода, асимптотике и итоговых лабиринтах здесь.

Читать далее

Ближайшие события

Как устроены задачи (Task) в asyncio

Уровень сложностиСредний
Время на прочтение13 мин
Охват и читатели7.2K

В прошлой статье мы разобрали механику событийного цикла asyncio.

В этот раз поговорим о задачах, объектах класса asyncio.Task (они же по‑простому «таски»). Тема важная, потому что по сути вся работа событийного цикла сводится к постоянному жонглированию задачами: запустить, приостановить, разбудить, завершить. Если понять, как устроена таска изнутри, изрядная доля магии asyncio (как и нелюбви к нему) исчезнет.

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

Погружаемся

Как я сделал автоматический перевод постов у себя в блоге с помощью ChatGPT

Время на прочтение8 мин
Охват и читатели7.2K

Я регулярно выкладываю посты в блог НормЦРМ. На двух языках: русском и английском.

Написал пост, придумал заголовок. Тут всё просто. А дальше неприятный процесс. С помощью ИИ перевести пост на английский — и перенести перевод в блог. А ещё сгенерировать мета-данные и og-данные (это для поисковиков и мессенджеров), тоже перевести их на английский и руками поставить в нужные поля.

Всё это занимает минуты, но такая работа раздражает. А пишу я довольно часто (публикация раз в пару дней). И решил сделать в интерфейсе одну кнопку, которая возьмёт на себя всю эту рутину. Решил — и сделал. Теперь в один клик переводится пост и генерируются все мета-данные.

Сейчас расскажу во всех деталях, как именно это реализовано. Вдруг вы тоже так захотите?

Читать далее

Я дал 100 AI-агентам равный бюджет — они изобрели кредиты под 15%

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели47K

Дал 100 AI-агентам по 1000 токенов и одну цель — набрать максимум очков. Не программировал ни торговлю, ни кредиты, ни специализацию. Через двое суток агент №23 попросил у агента №91 займ под 15%. К 72-му часу — три банкира, 12 банкротов и коэффициент Джини 0.71. Внутри — код на Python, логи, распределение ресурсов. И честный разбор того в чем я до сих пор не уверен.

Читать далее

AutoCraft 1.1.8: веб-панель для управления ПК и сервисами без привязки к Telegram

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели4.7K

Как запустить веб-панель в AutoCraft-Bot 1.1.8
Ниже простой сценарий запуска без обязательной настройки Telegram. Это удобно, если нужна именно веб-панель и вы хотите сначала проверить её отдельно.
Запустите AutoCraft-Bot 1.1.8.
Данные для работы с Telegram можно сразу не заполнять.
Откройте раздел «Функции».
Зайдите в «Настройки веб-панели».
В поле пароля администратора задайте свой пароль и нажмите «Сменить пароль».
При необходимости включите галочку автозапуска веб-панели.
Нажмите «Запустить панель».
Нажмите «Показать адрес» и откройте указанный адрес в браузере.
Есть и второй вариант: в основном окне AutoCraft есть кнопка «Открыть панель». Если панель уже запущена, браузер откроется сразу. Если не запущена, сначала нужно запустить её из настроек веб-панели.
Логин и пароль
По умолчанию логин администратора:
admin
Пароль:
либо сгенерированный системой;
либо тот, который вы установили вручную в настройках веб-панели.
Почему я сделал отдельный веб-интерфейс
Telegram-управление в AutoCraft никуда не делось, но на практике мне пришлось развивать отдельный веб-контур. Одна из причин это нестабильная ситуация с доступом к Telegram в России и связанные с этим ограничения по рабочим сценариям.
В итоге веб-интерфейс оказался не просто «обходным вариантом», а в ряде задач даже удобнее:
лучше подходит для длительной работы;
удобнее для ролей и разграничения прав;
проще для аудита и просмотра журналов;
естественнее для многосекционного интерфейса (таблицы, разделы, формы, администрирование).
Ограничения и текущие нюансы

Читать далее

Первые мысли питониста о Си на примере игры «камень-ножницы-бумага»

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели18K

Привет, Хабр! Недавно я задумался: Python — не единственный инструмент, которым я хочу оперировать в своих инструментах. Python, понятно, легко освоить и он применяется везде, но язык-то не идеальный! Ресурсов требует много, да и время выполнения не ахти, а учитывая нынешние темные времена... Мне нужно что-то получше. В общем, тут я вздумал попробовать Си.

Читать далее

Три аккаунта ChatGPT и один прокси: как перестать следить за лимитами

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели8.7K

У меня три ChatGPT-аккаунта. На каждом свои лимиты, своя история, свои причины существовать. И на каждом они кончаются в самый неподходящий момент.

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

Именно под эту боль и написан codex-lb.

Читать далее

Авторизация 2026: Почему вам больше не нужна форма регистрации (и как внедрить Яндекс ID, VK и Google)

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели6.5K

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

Давайте честно: если ваш пет-проект или стартап сегодня встречает юзера формой Email + Пароль + Повторите пароль, вы теряете конверсию. Никто не хочет запоминать очередной набор символов для "очередного сервиса". Все хотят одну кнопку: "Войти как...".

В этой статье разберем джентльменский набор авторизации для 2026 года: что ставить для рунета, что для мира, и как это реализовать технически на примере Яндекс ID.

Читать далее
1
23 ...