Обновить
526.62

Python *

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

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

Книга «Python для инженерных задач»

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

Приветствуем, коллеги.

Расскажем вам о нашей долгожданной новинке – «Python для инженерных задач». Эту книгу написал уважаемый Евгений Ильин @jenyay, кандидат технических наук, преподаватель Московского Авиационного Института. В основу книги легли его университетские наработки, объём более чем внушительный – 672 страницы. Тем не менее, поскольку эта книга ориентирована на самую широкую аудиторию инженеров, мы решили выпустить её в серии «Самоучитель», из которой вам также может быть известен знаменитый «Компас-3D  V 23» Анатолия Герасимова.

Читать далее

Книга: «Весь Python. Самое актуальное и исчерпывающее руководство»

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

Привет, Хаброжители!

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

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

Читать далее

Трансформеры для персональных рекомендаций на маркетплейсе: от гипотез до A/B-тестирования

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

Всем привет! На связи Ваня Ващенко, и я лид по развитию нейросетевых моделей в команде персональных рекомендаций Wildberries. Раньше я развивал B2C-рекомендации и нейросети кредитного скоринга в крупнейшем банке, а теперь вы видите результаты моей работы каждый раз, когда заходите на главную страницу любимого маркетплейса. Сегодняшний рассказ — о том, как мы развиваем WildBERT.

Читать далее

Сердце не сыто. Python помогает раскрыть особенности мастерства поэта Вознесенского

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

Можно ли было читать советские стихи американцам? Пытаюсь выяснить это с помощью Python на примере Андрея Вознесенского.

Читать далее

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

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

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

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

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

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

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

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

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

Читать далее

LLM-клиент с MCP – дорогой и неэффективный подход в разработке

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

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

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

Давайте кратко разберем схему работы какого-то нашего приложения с официальным LLM-клиентом (например, OpenAI) + MCP:

Читать далее

Дифференциальная приватность в ML

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

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

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

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

Разобраться в DP

context-async-sqlalchemy — лучший способ использовать sqlalchemy в async python приложении

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

Привет! Хочу рассказать о своей новой библиотеке context-async-sqlalchemy, которая помогает очень просто работать с sqlalchemy в async python приложениях. Минимум кода для простых сценариев, но и максимум свободы для сложных.

Читать далее

Дроби, проценты, степени, логарифмы + python

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

Дроби, проценты, степени и логарифмы на примерах в математике и в python. Что это такое, все их свойства, особенности и как решать примеры.

В моем конспекте объясняется фундамент, который понадобится в дальнейшем: Самое начало для изучения python, математики в целом и машинного обучения, если математику совсем не знал. Все написано простым языком и не на 100 страниц.

Читать далее

От Telegram-бота к AI-агенту: как собрать своего «исполнителя задач» на Python в 2025-м

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

В 2023–2024 почти каждый второй pet-проект с LLM выглядел как чатик: ты спрашиваешь — модель отвечает, иногда с RAG, иногда без. В 2025-м тренд сместился: на рынке всё чаще говорят про AI-агентов — системы, которые не просто болтают, а сами инициируют действия, ходят в API, планируют шаги и живут в продакшене как часть инфраструктуры.

В прошлых проектах я уже собирал Telegram-ботов: от простого «ресепшена» для малого бизнеса на aiogram 3.x до RAG-консультанта по железу «Кремний» на бесплатном стеке Groq + sentence-transformers. Логичный следующий шаг — научить бота не только отвечать в диалоге, но и самостоятельно выполнять задачи в фоне: следить за ценами на железо, мониторить статусы заказов или пинговать при аномалиях.

В этой статье разберём на практике минимальный AI-агент вокруг Telegram-бота: архитектуру, стек и рабочий код на Python. Получится небольшой, но честный «исполнитель задач», которого можно дорастить до чего-то полезного в проде.

Собираем AI-агента для бота

Регулярные выражения в Python: почему ваши парсеры тормозят и как это исправить

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

Регулярные выражения часто воспринимаются как write-only код: написал и забыл, потому что прочитать это невозможно. Но настоящие проблемы начинаются не с читаемости, а с производительности. Неправильный квантификатор или использование re.findall на больших данных могут парализовать работу приложения.

Читать далее

Укрощаем зоопарк API: универсальный Python-клиент для GigaChat, YandexGPT и локальных моделей (v0.5.0)

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

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

Если вы пробовали внедрять российские LLM в свои проекты, то наверняка сталкивались с "зоопарком" API. У GigaChat — OAuth2 и свои эндпоинты, у YandexGPT — IAM-токены и gRPC/REST, у локальных моделей через Ollama — третий формат.

В какой-то момент мне надоело писать бесконечные if provider == 'gigachat': ... elif provider == 'yandex': ..., и я решил создать универсальный слой абстракции.

Так появился Multi-LLM Orchestrator — open-source библиотека, которая позволяет работать с разными LLM через единый интерфейс, поддерживает умный роутинг и автоматический fallback (переключение на другую модель при ошибке).

Сегодня расскажу, как я её проектировал, с какими сложностями столкнулся при интеграции GigaChat и YandexGPT, и как за пару дней довел проект до релиза v0.2.0 на PyPI с 88% покрытия тестами.

Читать далее

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

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

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

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

Читать далее

Автоматизируем машинное обучение с помощью ИИ-агентов

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

Решая соревнования на Kaggle начинаешь замечать паттерн. Baseline сделать просто: загрузить данные, запустить CatBoost или LightGBM, получить baseline метрику. Это занимает полчаса. Но чтобы попасть в топ решений, нужно перепробовать десятки вариантов препроцессинга, сотни комбинаций фичей и тысячи наборов гиперпараметров.

Существующие AutoML системы не сильно помогают. Они работают по фиксированному сценарию: пробуют предопределенный набор алгоритмов, выбирают лучший по метрике и возвращают результат. AutoGluon обучает несколько моделей и делает многоуровневый ансамбль, но каждый запуск начинается с нуля. TPOT генерирует pipeline через генетический алгоритм, но не учится на ошибках предыдущих запусков.

Главная проблема в том, что эти системы не рассуждают. Они не анализируют почему конкретный подход сработал или провалился. Они не адаптируются к специфике задачи. Они не накапливают опыт между запусками. Каждая новая задача для них как первая.

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

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

Читать далее

FastAPI: Гайд по нормальной структуре для новичков (Часть 1. Слой домена)

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

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

Читать далее

Уроки французского и пересоздание данных для изучения иностранного языка с помощью обучающей программы «L'école»

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

Введение

Обучающая программа «L'école» (см. мою статью: «Роль данных при изучении иностранного языка» – https://habr.com/ru/articles/930868/ ) предназначена для освоения иностранного языка по методу: «Запоминание руками + интерактивный звук + чтение по слогам + буквальный контекстный перевод». Саму программу и демо-данные к ней, на разных языках, можно непосредственно скачать из: https://disk.yandex.ru/d/5yjYP4JP1aVnIw .

И, если с обучающей программой, более-менее, всё понятно, то по данным (компьютерным урокам) остаются некоторые вопросы.

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

Как известно, изучение иностранного языка предполагает четыре навыка:

1. Понимание письменной речи.

2. Понимание устной речи.

3. Умение писать.

4. Умение говорить.

По сути, они, очень грубо, распадаются на две большие группы:

1. Звук и

2. Текст.

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

Экспериментируя с изучением французского языка, я пришел к выводу, что хорошо работают следующие навыки:

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

Читать далее

Вероятностный анализ финансовых рынков на основе чистого OHLCV и многомодульной математической модели

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

Большинство торговых систем работают так: “если RSI пересёк X — покупай”.
Но рынок — стохастическая система. Сигналы не бинарны, они вероятностны.

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

Разберём логику этого анализатора и как именно он работает.

Читать далее

Продолжение статьи: Архитектура торгового Telegram-бота для сигналов пампов и дампов

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

В первой статье я показал, как сделал парсер пампов/дампов на BingX. Сейчас же проект вырос: из простого сборщика сигналов он превратился в полноценного торгового бота, который позволяет делать максимально гибкую настройку для каждой стратегии. Я решил использовать 12% и 5% сигналы как основные - от них и будет отталкиваться бот. Сейчас он находится в стадии тестирования (на демо-апи) и каждый может его протестировать!

Разобрал основную структуру бота, функции, работу с базой данных и логику стратегий.

Читать далее

Как ускорить автотесты на Python в Pytest в 8,5 раз

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

Меня зовут Анатолий Бобунов, я работаю SDET в компании EXANTE. Однажды я пришел на проект, на котором выполнение некоторых тест-сьютов занимало больше часа, настолько медленно, что запускать их на каждый merge request (MR) было просто нереально. Мы хотели запускать автотесты на каждый коммит в MR, но с такой скоростью это было невозможно. В результате мне удалось, за счёт серии небольших, но точных изменений добиться 8,5-кратного ускорения - без переписывания тестов с нуля. В статье расскажу, какие проблемы у нас возникли и как мы их решали.

Читать далее

Вклад авторов