Обновить
512K+

Python *

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

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

Сегодня я для себя открыл: Pony ORM

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

Читатели хабра знают меня как автора статей о django. Например, в предыдущем посте я писал о том, как собирался переписывать django на async/await. Кстати, первые эксперименты подтвердили, что подход рабочий, и что django отлично поддаётся переписыванию. А также - что он хорошо расширяем и содержит код высокого качества.

Однако, я пришёл к выводу, что несмотря на эти достоинства, django сильно уступает Pony ORM, которая, в отличие от django и других ORM, ещё и спроектирована правильно - способом, дружественным к оптимизациям. Не случайно в статьях, которые есть о ней на хабре, её хвалят именно за производительность.

В этой статье речь пойдёт о Pony ORM, но не о фичах для пользователя, которых много (о которых можно узнать в этих видео 1, 2), а о её внутренней архитектуре.

Читать далее

Летняя встреча Go-сообщества: системное и embedded-программирование

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

Если список литературы по Go на лето уже прочитан, пора переходить от теории к живым кейсам. 23 июля собираемся в Москве и онлайн на встрече Go-сообщества от YADRO и Postgres Professional. Начинаем в 19:00 — подключайтесь к трансляции и слушайте тех, кто работает с Go каждый день.

Отменяем summertime sadness

Почему «чем проще, тем лучше» не работает на ИИ-классификаторе

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

Обучил multi-label классификатор на 15 классов для модерации Discord-сообщества, получил micro F1 = 0.9358 — цифра, с которой можно закрывать задачу и не разбираться дальше. Но стоило посмотреть на precision и recall по каждому классу отдельно, как выяснилось: recall на TOXIC — около 0.78, а для части редких меток test split вообще не подтверждает качество — положительных примеров там почти нет. Разбираю на реальных цифрах и коде: почему агрегированная метрика такое скрывает, как считать вес классов через pos_weight при сильном дисбалансе, почему checkpoint стоит выбирать по macro F1, а не по training loss, и где принцип «чем проще — тем лучше» перестаёт работать при оценке качества классификатора.

Подробнее

4 ошибки в A/B‑тестах, из‑за которых случайный шум выглядит как эффект

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

Сплиттер работает корректно, метрика посчитана, а p‑value уверенно опустился ниже 0,05 — результат кажется готовым к раскатке. Однако ошибка в оценке дисперсии способна превратить случайное различие в статистически значимое.

В этой статье разберём четыре типовых сценария, в которых тест подтверждает эффект, которого в данных нет, и посмотрим, как исправить расчёты.

Читать далее

Книга: «Думай как аналитик. Статистика и данные с примерами на Python. 3-е изд.»

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

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

Читать далее

Собираем 3D-сканер комнаты из телефона, SAM, CLIP и DINOv2

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

Привет, «Хабр»! Представляю вашему вниманию практическое руководство по созданию умной 3D-модели комнаты из обычного видео на телефоне.

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

Нейросети в процессе не обучались заново, в ход идут готовые модели – SAM, CLIP и DINOv2. Весь фокус в том, как их правильно оркестровать.

Читать далее

Сможете ли вы найти пять ошибок в Python‑коде, который вызывает LLM

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

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

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

Читать далее

pkg-cache — простой локальный кеш пакетов

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

Пример реализации простого кэширующего прокси для пакетов npm, composer и pip на базе node.js для Windows и Linux.

Читать далее

Domain-routed agents vs naive RAG: экономика и риски архитектурного выбора

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

Классический RAG хорошо ищет отдельные факты, но может пропускать исключения и связи между разными разделами документации. Я проверил альтернативный подход: мультиагентный граф, в котором роутер направляет запрос экспертам по отдельным доменам знаний.

В статье — архитектура на LangGraph, сравнение с наивным RAG на датасете из 40 вопросов, метрики качества, задержки и стоимость запросов. А главное — разбор, когда дорогой в эксплуатации агент может оказаться выгоднее дешёвого RAG за счёт экономии инженерного времени.

Читать далее

Магнитное поле постоянного магнита

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

Рассмотрим следующую задачу:Дан постоянный магнит некоторой формы и нужно получить аналитическое выражение для его магнитного поля B в трёхмерном пространстве.Разберём несколько случаев.Будем считать магнит однородным.

Читать далее

Обучаем ИИ видеть то, чего он никогда не видел

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

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

Однако, какой бы ни была архитектура, все их объединяет одна и та же проблема — данные. Для полноценного обучения нужны сотни и тысячи изображений, с разных ракурсов, в разных условиях. Если цель — академический проект, обнаружение машин или колосков пшеницы, то найти датасет не составляет проблем. Но что, если датасета нет и/или его невозможно собрать в принципе в нужном объеме? Скажем, редкий дефект в производстве, истребитель новой конструкции? Ждать, пока накопится много брака, или надеяться на утечку чертежей?

Мы провели пару экспериментов с моделью YOLO для проверки гипотезы: как далеко можно уехать, используя исключительно синтетические данные?

Ознакомиться

Как я собрал OmniBot: Discord Activity, локальный ruBERT и модерация без чёрного ящика

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

Когда я начал развивать Discord-сообщество, обычной команды /ban хватило совсем ненадолго. Роли настраивались в одном месте, приветствия — в другом, логи — в третьем, а за уведомления о стримах отвечал отдельный бот.

Подробнее

Перенёс ByteTrack на GPU и ускорил мульти-камерный трекинг в 6 раз

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

GPU-версия ByteTrack, где математика всех камер считается общими батчами: один вызов на все потоки вместо трекера-на-камеру. На 16 потоках это ускоряет трекинг в 6 раз (104 → 17 мс/кадр на RTX 4090). А за первой, «наивной» версией пряталось всего 1.2x — почему, показали три антипаттерна PyTorch, на которых легко застрять и вне трекинга: GPU-вызовы в цикле, заливка кадров на 1.6 ГБ/с вместо 25, и FP16, который тихо съедал по 300 мс на кадре. Все цифры воспроизводимы, есть сравнение с NVIDIA DeepStream и открытый код.

Читать далее

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

Claude Code умеет всё, кроме одного — слушаться вашу программу. Чиним это протоколом ACP

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

Claude Code, Codex, Gemini CLI — мощные штуки. Но живут они в терминале: вы открываете окно, печатаете задачу, смотрите, как агент думает, лезет в файлы, гоняет тесты. Для человека — отлично. А теперь представьте, что в это кресло перед терминалом нужно посадить не человека, а вашу программу: чтобы она сама ставила агенту задачу, видела каждый его шаг и могла остановить опасное действие до того, как оно случится.

Вот тут и начинается ACP — протокол, который позволяет любому коду управлять CLI-агентом.

Смотреть, кто за рулём

MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций

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

💾 MinIO, MongoDB, PostgreSQL для хранения 25 лет истории стоимости акций

Когда строишь эмулятор для проверки торговой стратегии 20 акций на 25 лет исторических данных поминутно, выбор хранилища становится архитектурной задачей. В статье разобрал, почему попытка использовать MinIO не оправдала себя, где упирается MongoDB и как PostgreSQL с Pgpool-II и read-репликами сократил время чтения одной свечи с 40мс до 10мс

Читать далее

Как мой FullMute эволюционировал за время

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

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

Читать далее

Своя GPT-like LLM по WH40K с нуля. Часть 2: собираем трансформер

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

Привет, Хабр! Меня зовут Владимир, и это вторая часть цикла статей по написании и обучению небольшой decoder-only LLM с нуля. В первой части мы вытащили текст, обучили Byte-level BPE токенизатор и собрали pretrain-датасет. Теперь напишем сердце модели - трансформер.

Читать далее

Запрещаем AI выдумывать методы КОМПАС-3D: 200К пар обучения, модель на 34М и KOMPAS Guard в одном процессе

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

Чтобы AI-агент понимал инженера, индустрия предлагает поставить между ними еще одну большую языковую модель. Мы поставили модель на 34 млн параметров, в несколько десятков раз меньше, и она справляется лучше.

Секрет в данных. 200 тысяч пар «формулировка задачи → элемент КОМПАС API», где негативные примеры подбирались специально коварные: одноименные методы разных интерфейсов, соседние get/set одного свойства, кандидаты, которых базовая модель ошибочно ставила на первое место. Дообучение заняло меньше пяти часов на одной видеокарте, а Hit@5 на запросах, где метод описан задачей, а не именем, вырос с 5,8% до 79,6%.

Но поиск это только вход. Дальше каждый кандидат проходит через граф типов, константы берутся из настоящих DLL, код сверяет компилятор, а недокументированное поведение агент выясняет экспериментами в живом CAD: пишет зонд, запускает в песочнице, читает результат. Выдать догадку за факт ему негде, на каждом шаге его встречает проверка.

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

Читать далее

Vera возвращается: как голосовой ассистент превратился в локального AI-агента для Windows

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

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

Читать далее

Оценка быстродействия детекторов YOLO на Raspberry Pi 5 HAT+

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

В предыдущей статье я описал процесс компиляции модели yolo8n в HEF-файл для нейрочипа HAILO-8L в модуле HAT+. В этой работе я оцениваю быстродействие инференса нескольких моделей YOLO для этого же чипа.

Читать далее