Обновить
1024K+

Python *

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

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

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

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

Привет, Хабр!

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

В этой статье разберём инженерный способ автоматически извлекать из этого потока проблемы и решения и вести актуальную базу знаний с помощью Python, МТС Exolve и LLM.

Читать далее

Устранение дисбаланса классов в PyTorch с помощью WeightedRandomSampler

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

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

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

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

Разбираемся, как он работает

Pech или pyRTOS: вот почему «печка» лучше чем «аналог FreeRTOS»

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

Pech — это Managed Kernel которая следует концептам Mach 3.0. В 2025 году безопасность важнее ручного управления тактами. Я использую высокоуровневый рантайм для создания математически безопасной среды, где баги памяти устранены на уровне архитектуры. Это то, к чему сейчас стремятся проекты вроде Microsoft Singularity или современные ОС на Rust.

В этой статье я попытаюсь как можно больше перечислить ошибок pyRTOS которые были исправлены в Pech.

Читать далее

dag_generator: лоукод-генерация гетерогенных Airflow DAG

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

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

Полноценных open-source-альтернатив, которые закрыли бы все наши потребности, не нашлось. Поэтому мы решили создать свой «мультитул» — low-code-фреймворк для генерации гетерогенных Airflow DAG с незамысловатым названием dag_generator.

Цель этой статьи — поделиться опытом внедрения подобного инструмента. Генерация выполняется по старинке, так что про ИИ здесь пока ничего не найдете.

Читать далее

Анализ данных с сайта Pet911

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

В статье рассмотрено программное решение для сбора набора данных о пропавших и найденных животных с сайта Pet911.ru – крупнейшей в России система поиска пропавших животных, анализа и визуализации полученных данных. Исследуется зависимость шанса нахождения животного или новых хозяев от его вида, возраста, подробности описания примет, числа комментариев, количества фотографий и так далее Формируется статистика о пропавших питомцах по регионам. Данная работа может помочь при организации поисков пропавших животных и для нахождения хозяев уличным животным, создании новых волонтёрских объединений.

Исследование выполнено в рамках дисциплины «Большие данные» магистерской программы «Математические методы анализа и визуализации данных» Санкт‑Петербургского политехнического университета Петра Великого.

Читать далее

Это другое. Python нашел замалчивание в поэзии Беллы Ахмадулиной

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

Творческие секреты поэтессы глазами кода. Что анализ фонетики на Python рассказывает о «шестидесятниках».

Читать далее

Случайность как следствие открытости систем и черного ящика

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

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

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

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

Подробнее

Не читал, но одобряю: пишем софт для быстрого анализа пользовательских соглашений

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

Недавно посмотрел видео про скандал вокруг известного сервиса по торговле ключами для игр Kupikod. Для тех кто не в курсе: ребята из данной конторы решили подзаработать деньжат довольно интересным способом - объявили у себя на сайте нулевые комиссии за пополнение кошелька, но почему-то после пополнения у клиентов дополнительно списывалось 300 рублей. Оказывается, пополняя кошелей, пользователь дополнительно оформлял помесячную подписку стоимостью 300 рублей, которая как раз и обеспечивала эти нулевые комиссии. И разумеется, если эту подписку не отменить, то с тебя так каждый месяц и будет списываться по 300 рублей. Информации об этом на сайте просто не было, она была указана в публичной оферте, том самом документе, который никто никогда не читает. Собственно вот этот пункт:

Читать далее

Мониторинг SSSD через D-Bus: создаем собственный Ansible-модуль вместо sssctl

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

Привет, Хабр! Сегодня хочу поделиться опытом того, как я отказался от стандартной утилиты мониторинга SSSD в пользу прямого общения с демоном через D-Bus и создал полнофункциональный Ansible-модуль.

Избавиться от зависимости!

Поиск свободных уникальных ников в Telegram

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

Для одного проекта мне понадобился короткий ник в Telegram.

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

У меня есть скрипт для проверки «зарегистрированности» ников крупными пачками.

Читать далее

SFT vs RL: Сравнение методов настройки LLM для задач программирования и игровых сред

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

В современной разработке AI-агентов возникает необходимость адаптации больших языковых моделей (LLM) для решения специфических задач, требующих не просто генерации текста, а выполнения последовательных действий с рассуждениями. В этой статье мы рассмотрим и сравним два основных подхода к настройке моделей: Supervised Fine-Tuning (SFT) и Reinforcement Learning (RL), используя библиотеку TRL (Transformer Reinforcement Learning) от Hugging Face.

Читать далее

Как я случайно DDOS-нул hh. ru, пытаясь найти работу: история о том, почему боты должны быть асинхронными (и вежливыми)

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

Привет, Хабр. С вами снова Вадим.

В прошлом посте я рассказывал, как написал AI‑бота Аврора, который ищет вакансии вместо меня.

Статья залетела, и к нам пришли первые 100 тестеров. И тут началось веселье.

Представьте: вы нажимаете кнопку «Найти работу», а бот молчит. 10 секунд, 20 секунд. Вы думаете: «Сломалось» и жмете кнопку еще 5 раз.

А на самом деле бот не сломался. Он просто «ушел на кухню готовить».

В этой статье расскажу, как мы переписали архитектуру с «однорукого повара» на «промышленный конвейер», зачем использовали SQL вместо модного Redis и как наша скорость стала нашей проблемой.

Если вы разработчик — найдете тут код про SKIP LOCKED.

Если вы ищете работу — поймете, почему наш бот теперь быстрее, чем пальцы любого рекрутера.

Читать далее

Полумодулярные схемы

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

Предметом исследования являются полумодулярные схемы (далее ПМС), подкласс схем, не зависящих от скорости, определенных Д. Малером в 1961 году. Этот подкласс включает в себя последовательные схемы, обсуждаемые в статьях с очевидным названием, опубликованные здесь же.

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

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

Читать далее

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

Как тестировать конфигурацию Nginx: корректность и информационная безопасность

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

При разработке сложной системы приходится сталкиваться с использованием nginx в качестве reverse proxy: роутинг, список правил, регулирующих путь запроса во внутренние системы или между подсистемами.
Быстро развивающиеся сервисы обрастают правилами, назначение которых не очевидно или имеет недокументированные особенности. Проверенный способ рефакторинга таких систем: зафиксировать и вылечить упростить. Фиксировать будем тестами.

Как проверить корректность вашей конфигурации Nginx'а? Как проверить ее безопасность и нет ли уязвимостей ? Какие есть для этого варианты, их плюсы, минусы, практическая применимость и как эти проверки встроить в CI пайплайн ?
Ответы на эти вопросы под катом. Будет полезно, погнали.

Погнали

История одного бота: как сэкономить 500 часов на откликах и случайно отправить резюме боссу

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

Привет, Хабр.

Меня зовут Вадим, я бэкенд-разработчик.

Все мы знаем, что поиск работы в IT — это отдельный круг ада. Особенно этап "воронки": чтобы получить один оффер, нужно отправить 100+ откликов. Причем не пустых, а с вменяемым сопроводительным.

Как инженер, я не люблю рутину. Если алгоритм действий повторяется ("прочитать — сопоставить — написать — отправить"), значит, его можно заскриптовать.

Так появился мой pet-проект «Аврора», который на прошлой неделе перерос в закрытую бету на 100 человек. Рассказываю про архитектуру, промпт-инжиниринг и о том, почему if company_name != current_job — это самая важная строчка кода, которую я забыл написать.

Читать далее

Как не проспать дейли: Реализуем планировщик задач внутри Python-процесса

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

В потоке кода легко пропустить дейли, забыть проверить бэкапы или закоммитить задачи перед уходом. Сторонние планировщики часто избыточны и потребляют лишние ресурсы, а самописные скрипты на while True: time.sleep() — это архитектурный тупик, блокирующий потоки и создающий временной дрейф.

В этом туториале напишем свой легковесный фоновый сервис на Python. Разберем, как отправлять нативные системные уведомления (Windows/Linux/macOS) через библиотеку Plyer, настроим гибкое расписание с помощью Schedule и научимся запускать скрипт в режиме демона без висящего окна терминала.

Читать далее

Вы написали AI-агента, а что дальше? Разбираем Google Vertex AI Agent Engine — спасательный круг или золотая клетка?

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

Давайте честно: написать умного AI-агента сегодня — это самая простая часть работы. Собрали LangChain или LangGraph, прикрутили API OpenAI или Gemini, заставили это работать у себя в терминале — красота! Вы чувствуете себя Тони Старком.

Но настоящий кошмар начинается, когда возникаетвопрос: «А как выкатить это в продакшен?»

И тут вы понимаете, что ваш скрипт на Python — это не бэкенд. Вам нужно думать про:

Читать далее

ГОСТ Р 50779.29-2017 (ИСО 16269-6:2014) и статистические толерантные интервалы с практическим примером и кодом

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

Статья демонстрирует два подхода к практическому применению статистических толерантных интервалов и адресована двум категориям читателей:

Отраслевым технологам — специалистам по автоклавированию: для них приведена пошаговая процедура решения прикладной задачи «подбор времени выдержки продукта при температуре стерилизации» с использованием таблиц ГОСТа.

Специалистам в области контроля и диагностики, которым интересен инструментарий толерантных интервалов для решения задач в непараметрической постановке. Для них с помощью Python кода мы получим непараметрическую оценку границы толерантного интервала (то есть воспроизведём то, что «зашито» в таблицах ГОСТа для непараметрической постановки). Дополнительно бутстрап‑моделированием проведём анализ устойчивости этой оценки и рассчитаем достигнутые значения уровней покрытия и доверия.

Ссылка на блокнот с кодом в конце статьи.

Читать далее

Как написать собственные классы классификации для маленьких

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

В прошлый раз я уже рассказывала о том, как в ходе обучения в "Школе 21" создавала класс линейной регресии, на этот раз будем рассматривать реализацию LogisticRegression, GaussianNB, KNN. Как и в прошлый раз, минимум теории, максимум практики.

Читать далее

Интенсивный курс «AI-агенты» от Google День 3

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

На данный момент я прохожу 5-дневный интенсив по AI‑агентам от Google. Эта статья представляет собой перевод оригинального материала, выполненный с помощью Gemini и мной. В этой статье вы узнаете как сделать так, чтобы ИИ не просто «отвечал», а «понимал» и «запоминал»? И если вы когда‑либо задумывались о том, как научить LLM‑агентов вести осмысленные, долгосрочные беседы, эта статья станет вашим проводником в мир сессий и памяти, которые формируют ИИ агентов.

Читать далее