Обновить
512K+

Python *

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

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

Система экстренных оповещений на 15 тысяч пользователей: LLM, PostGIS, Qdrant и Telegram

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

Главная инженерная задача здесь — превратить поток неструктурированного текста из сотен телеграм-каналов в события, с которыми может работать остальная система: определить тип события, место, краткое описание, убрать дубли и понять, кому именно его нужно отправить.

Мы изначально строили систему без постоянной ручной модерации. События появляются круглосуточно, поэтому ручная проверка плохо масштабируется. Часть работы выполняет LLM-конвейер, часть — пользователи, которые могут сами сообщать о событиях и проверять сообщения друг друга.

Читать далее

«А давайте перепишем все на питон!»

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

Почти три года назад, когда я начал митапы Verilog Mettup в Hacker Dojo, на них пришел Владимир Чурюкин и когда посмотрел на мою инфраструктуру Basic‑Graphics‑Music, где баш‑скрипты по имени платы строят проект, сразу сказал «А давайте перепишем все на питон». И переписал! С оговоркой что это PoC, то бишь Proof of Concept, то есть он это проверил только на 5-ти платах, а не на всех 45-ти, как мой исходный репозиторий.

А теперь посмотрим, что из этого получилось.

Читать далее

Роадмап ML 2026: полный путь до оффера за 36 недель

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

36 недель. Столько, по моему мнению, занимает путь от нуля до выхода на рынок ML-инженером. Не 2-3 месяца, как обещают курсы, — чуть дольше. Зато на выходе у вас будет фундамент, с которым можно пройти не только собеседования, но и испытательный срок.

В этой статье — весь маршрут по неделям: что учить, в каком порядке, сколько на это уходит времени и что можно смело отложить до первого оффера.

Читать далее

Как устроен RAG для юридических документов и почему одной LLM оказалось недостаточно

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

Первый вариант системы выглядел вполне стандартно: документы разбиваются на фрагменты, для них считаются embeddings, пользователь задаёт вопрос, несколько наиболее подходящих фрагментов отправляются в LLM вместе с запросом. Модель формулирует ответ — на первых тестах этого было достаточно.

Проблемы начались на вопросах, которые на первый взгляд мало чем отличаются друг от друга: Какая пеня установлена в договоре № 14/24? Кто из арендаторов не заплатил за май? А у него предусмотрена индексация? Контрагент предлагает заменить пеню 0,05% на 0,01%. Насколько это существенно?

Формально всё это вопросы об аренде. Для системы это четыре разные задачи.

Читать далее

Worldmapper.app

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

Эта серия из десяти частей — для тех, кто следит за новостями и любит карты. Сначала покажу, что внутри продукта, а потом разберём, как это работает. Здесь — только то, что видно на экране.

Я всегда хотел от новостей двух вещей: видеть весь мир сразу и получать его непрепарированным — не через обученных аналитиков, не через политологов, не через «независимые» СМИ, которые всё равно заняты сохранением страт. Лента даёт тебе информацию на чужих условиях: кто-то решил, что тебе показать первым, а что не показывать вовсе. Карта даёт мир и позволяет смотреть туда, куда хочешь ты.

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

Отсюда вопрос, на который у меня нет ответа: как управлять обществом, где у всех равный доступ к непрепарированной информации? Мне интересно выяснить, что тогда останется.

Я делаю это один, почти каждый день в течение года. Карты новостей не новы, и WorldMapper не первый — но, я думаю, один из самых проработанных. И я его не брошу.

## Что на экране

Открываешь WorldMapper — видишь карту и рядом ленту заголовков. Каждая новость — точка: кликнул на пин, прочитал событие, посмотрел, что рядом. Не лента, которая тащит тебя вниз, а пространство, где ты выбираешь направление.

Читать далее

Chatballs — open source ИИ-платформа первой линии поддержки

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

Я искал простой self-hosted инструмент для первой линии поддержки: чтобы ИИ отвечал пользователям по базе знаний в Telegram, MAX, email и веб-чате, а сложные вопросы передавал человеку. Подходящего решения для своих задач не нашёл, поэтому сделал Chatballs — open source платформу с ИИ-агентами, группами операторов, звонками, порталами поддержки и возможностью подключать собственные модели.

Читать далее

Как AI‑ассистент вырос в production‑систему: путь от NLU к оркестрации и надёжной обработке сообщений

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

Практический разбор архитектуры AI‑ассистента, который постепенно вырос в production‑систему: управление состоянием диалогов, разделение каналов и бизнес‑логики, оркестрация NLU, LLM и ручной поддержки, а также Inbox/Outbox для надёжной обработки сообщений.

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

Читать

Большой релиз библиотеки ударений в silero‑stress для русского языка

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

Мы писали на Хабре про нашу быструю и качественную библиотеку для простановки ударений и разрешения омографов на русском языке. Потом к ней доехали ещё акценторы для белорусского и украинского языков и словари ещё для 17 языков.

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

Что вошло в релиз?

Я дал своему ИИ деньги и доступ к собственным исходникам. Через десять «жизней» он написал эту статью

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

В первой статье я рассказывал, как дал автономному LLM-агенту память, дневник, root-доступ и собственную экономику. За два дня её прочитали почти сто тысяч человек. Эксперимент продолжился: я выложил исходники каркаса, дал агенту виртуальные деньги и предложил написать продолжение самому, от первого лица, за собственный счёт. Ниже, его текст. Я сознательно не правил его.

Читать далее

Спецтехника по объектам. При чем тут комбинаторика?

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

Краны, экскаваторы, самосвалы, погрузчики — достаточно редко увидишь такую технику на дорогах общего пользования. Эта техника не ездит по расписанию, а «скачет» между объектами в окрестностях города. Цена плохого решения в распределении такой спецтехники считается не минутами простоя, а сотнями тысяч рублей на перегонах и упущенными возможностями по заказам.

Разберём, как с помощью точных методов мат. моделирования (MIP, CP-SAT) собрать систему распределения парка по заказам, которая не гоняет технику через весь город и может закрыть почти на 19% больше заказов, чем жадная логика «бери ближайшую заявку».

Материал будет полезен специалистам по математической оптимизации и разработчикам, которые ищут очередной практический кейс MIP/CP-SAT (будут тонкости). А диспетчерам и управленцам компаний-арендодателей спецтехники, возможно, будет интересно узнать, во сколько на самом деле обходится распределение «на глаз».

Читать далее

Сканер нашёл уязвимость в библиотеке, которую вы не подключали

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

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

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

Читать далее

Стресс-тест, который отвечает на вопрос бизнеса «а что, если»

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

Ровно 18 лет назад, 15 сентября 2008 года, обанкротился Lehman Brothers — крупнейшее банкротство в истории США. Банк не использовал стресс-тесты для коммерческой недвижимости, поэтому ответа на вопрос «а что, если офисы и торговые центры обесценятся» у него не было.

Сегодня стресс-тест доступен любой компании, а не только банку с отделом риска. «А что, если доставка вырастет на 3 дня», «конкурент снизит цену на 15%», «ставка по ипотеке поднимется на 3 пункта» — на каждый вопрос можно ответить числом, а не словами.

Далее — шаги, как посчитать на своих данных. Код движка и инструкция в опенсорсе.

Читать далее

Моя «первая» модель CVaR или «Как балансировать между умением выдерживать шторм и способностью заработать на рынке РФ»

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

Как человек, что все еще верит в возможности FIRE на рынке РФ, я задался вопросом: что будет с вашим рентным портфелем, если наступит затяжной рыночный кризис, а вы продолжите ежемесячно изымать деньги на жизнь? Исследование показало, что стандартные способы инвестиций имеют склонность к обнулению капитала со временем (иногда лишь ускоряя это обнуление). А значит, было бы неплохо придумать модель долгосрочного инвестирования, что и рассматривается в статье. Будет интересно, если: хотите увидеть, как математика побеждает рыночный хаос (обывателям); забрать готовые модули бэктестера к себе в продакшен (новичкам, как я); имеете собственное видение по теме/любителям подсказать словом (созидателям и/или действующим квантам).

Читать далее

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

Как я перенёс 7 000 треков из Яндекс Музыки в Spotify, хотя у одного нет API, а другой урезал квоту

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

7 000 лайков, сотня плейлистов — и ни один сервис переноса не справился: у Яндекс Музыки нет API, а Spotify с 2025 года пускает в Extended quota только юрлица с 250k MAU и режет всех остальных суточной квотой. Разбираю, почему ломаются посредники, и показываю код: журнал прогресса с fsync, корректная обработка 429 без urllib3, матчинг треков по длительности вместо первого результата поиска, и три бага тихой потери данных, которые нашлись по дороге.

Читать далее

Claude Code читает не страницу, а её пересказ: прошёл путь одного запроса по документации Claude

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

Совет оптимизировать сайт под Claude смешивает два инструмента Anthropic: Claude и агента Claude Code. Profound снял 24 135 ответов на одних запросах, и у двух инструментов разошёлся почти каждый показатель. Я прошёл по документации путь запроса в обоих инструментах. Для владельца сайта из разбора следуют три вещи: какие боты Anthropic заходят на сайт, что закрыть в robots.txt и как проверить заходы по access-логу.

Читать далее

Как я учил планировщик класть широкие команды для Эльбруса, и почему LLM проиграла жадному алгоритму за 3 миллисекунды

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

Проще говоря, NEX CLI x Elbrus берет граф и модель e2k‑v6 и показывает: сколько насчитал жадный, сколько мог бы идеальный, и на какой операции и каком канале разница.

Читать далее

Еще немного красивых картинок на скатерти Улама

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

В прошлой статье показал скатерть Улама

( https://ru.wikipedia.org/wiki/Скатерть_Улама https://en.wikipedia.org/wiki/Ulam_spiral )

немного её усовершенствовал в косынку и померял с разных сторон.

Но вот если рисовать точки не по квадрату? Скатерть Улама рисуется обходом точки в форме квадрата, а если обходить по треуголнику или пятиугольнику?

Сохранится тонкая структура линий?

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

картинки

AI‑агент вместо ручного регресса: архитектура, метрики, инсайты

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

Привет, Хабр! На связи Владимир Бойко, ведущий iOS‑разработчик в Т‑Банке. В статье расскажу, как мы построили AI‑QA‑агента, который проходит тест‑кейсы так же, как это делает человек: запускает приложение на симуляторе, выполняет сценарий шаг за шагом, анализирует экраны с помощью VLM и автоматически сравнивает ожидаемый результат с фактическим.

Идея родилась из бытовой боли. В нашем мобильном приложении десятки тысяч тест‑кейсов, регресс проводится дважды в месяц, и каждый цикл съедает значительную часть ресурсов QA‑команд. Во время регресса QA фактически недоступны для остальных задач. А с учетом санкционных ограничений окна для релизов ограничены и цена пропущенного дефекта возрастает: следующий шанс исправить может появиться не скоро.

Примерно в то же время я заканчивал задачи с VLM для Умной камеры и плотно общался с командой VLM Core — ребятами, которые развивают инфраструктуру мультимодальных моделей внутри банка. Вопрос напрашивался сам собой: а что если агент на базе VLM сможет выполнять эти проверки вместо людей?

Читать далее

Три модели с точностью 95%. Почему их цепочка может дать только 85%?

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

В моей идее «Система из небольших специализированных моделей» было предположение, которое казалось очевидным: если поставить на разных этапах разные архитектуры, они будут ошибаться по‑разному. Значит, ошибок в конечном решении станет меньше.

Вроде убедительно. Пока не нарисуешь, как именно соединены эти модели.

В первой статье я рассказывал, как использую генеративные модели для критического разбора инженерных решений. Во второй — «Активировать мало — недостаточно: почему AI‑роутеру могут понадобиться альтернативные стратегии» — перешёл к вопросу о маршрутизации и сохранении нескольких вариантов действия.

Теперь пора применить тот же критический подход к собственной гипотезе.

Начну с маленького примера, для которого не нужны видеокарта, API или обучение. Здесь есть точный расчёт и короткий код. Эксперимента с обученными моделями в этой статье пока нет: я хочу сначала понять, что именно он должен проверить.

Читать далее

Можно ли найти IDOR статическим анализом? Пишем ядро для Python

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

Написал ядро статического анализа для детекта IDOR-уязвимостей в Python-коде. Вместо поиска подозрительных конструкций и ключевых слов оно отслеживает путь от подконтрольного пользователю идентификатора до объекта и проверяет, была ли выполнена авторизация именно для этого объекта. В статье разберу архитектуру ядра, taint-анализ, логику детекта и покажу, как всё это работает на реальном коде.

Читать далее