Обновить
619.88

Python *

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

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

Настраиваем Docker для Django

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

Привет, Хабр! В этой статье мы запустим Docker с Django на локальной машине. Этот материал ориентирован исключительно на локальную разработку — наш Django будет работать с SQLite без использования образов PostgreSQL. Уже в следующей статье мы соберем более сложное приложение. Все действия будем выполнять в Windows, так как большинство начинающих разработчиков используют именно эту операционную систему. Перед началом работы убедитесь, что у вас установлен и настроен Docker Desktop для Windows. В сети много руководств по его установке, поэтому думаю, что с этим не возникнет проблем. Мы будем использовать Django 5.2.6 и Docker Desktop 28.4.0. Весь проект доступен на GitHub. Если материал оказался полезным, буду благодарен за звёзды в репозитории. Первым делом создадим приложение, для которого будем собирать образ:

Читать далее

NeuTTS Air: открытая модель синтеза речи, которая работает прямо на вашем устройстве

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

2 октября 2025 года компания Neuphonic представила NeuTTS Air - открытую модель преобразования текста в речь, которая кардинально меняет подход к синтезу голоса. Главная особенность в том, что она работает полностью локально на обычных устройствах без необходимости подключения к интернету или облачным сервисам.

Читать далее

Телеграмм бот на Python aiogram 3. Часть 1

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

В этом пошаговом руководстве пишем простого эхо-бота с нуля. Используем современный стек: Python и асинхронный фреймворк aiogram 3. Главная особенность — разбираем новый, актуальный на 2025 год, способ регистрации бота через Mini App в @BotFather, который пришел на смену старым консольным командам.

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

Читать далее

Асинхронность vs. многопоточность: что выживет в эпоху No GIL?

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

Хватит спорить — пора запускать и сравнивать.

Тестируем реальные сценарии, измеряем RPS, смотрим на потребление памяти и разбираемся, когда самая разумная стратегия — это просто подождать и обновить Python на free-threading версию. 

Привет, Хабр! Меня зовут Игорь Анохин, я — руководитель платформенной разработки в K2 Cloud и более 8 лет программирую на Python. 

Читать далее

GGUF: квантизация с калибровкой (imatrix)

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

Привет, хабровчане!

Признаюсь, я не большой любитель vLLM, Triton Inference Server и всяких там NeMo, вместо них я предпочитаю ollama вообще и llama.cpp в частности, поскольку придерживаюсь мнения, что 1-2% потери в точности и отсутствие некоторых плюшек - не так важно, по сравнению с удобством деплоя, спекулятивным декодингом, многократным приростом скорости, динамическим оффлодом в память системы и возможностью запускать модели на любом "ведре", навроде древних зионов, андройдофонов, малинок или, скажем, макбуков.

Поэтому вполне ожидаемым для меня является, когда авторы моделей заморачиваются с конвертацией оных в GGUF - особом формате сжатия весов моделей, пригодном для запуска через упомянутые выше ollama и llama.cpp.

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

Читать далее

Python 3.14: ошибки стали понятнее, чем когда-либо

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

Команда Python for Devs подготовила перевод статьи о Python 3.14. В новой версии язык стал не просто «ругаться» на ошибки, а объяснять их понятным человеческим языком — с подсказками, где проблема и как её исправить. Теперь вместо сухого invalid syntax вы получите конкретное объяснение и даже намёк на решение.

Читать далее

Triton FP8: реализация и автотюнинг GEMM/Attention под RTX 40xx/Blackwell

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

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

Я тут на досуге решил разобраться с 8-битными числами с плавающей запятой (FP8) и попробовать написать под них свои GPU-ядра на Triton. Зачем? Ну, новые ускорители от NVIDIA обещают невиданную ранее производительность на FP8 — вдвое больше операций, чем на FP16. Для тренировки огромных нейросетей это прям манна небесная: меньше памяти, больше скорость. Но, конечно, всё не так просто.

Сам по себе FP8 формат капризный, требует тщательного подхода: два разных варианта чисел (E4M3 и E5M2), масштабирование (скейлинг) тензоров, аккуратное накопление сумм в FP16/FP32, разбиение вычислений на тайлы под размер быстрого SRAM (shared memory) и даже специальные меры против переполнения. В общем, нюансов хватает. Расскажу, что узнал и как реализовал GEMM (умножение матриц) и внимание (Attention) в FP8 на языке Triton, да ещё и с автотюнингом.

Перейти к материалу

EDA в Python для новичков: что почитать и где попрактиковаться

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

Привет! Это команда курса «Аналитик данных». Мы подготовили подборку материалов для тех, кто делает первые шаги в мире анализа данных и хочет освоить исследовательский анализ данных с нуля.

Разведочный или исследовательский анализ данных (Exploratory Data Analysis, EDA) — это этап работы с данными, на котором аналитик изучает доступную информацию перед построением сложных аналитических моделей. Это основа работы с данными, которая помогает понять, какая информация доступна и возникнут ли трудности с будущим анализом.

Читать далее

AI Review кода за 30 минут: локальная LLM прямо в CI/CD

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

Как за полчаса подключить автоматическое ревью кода с помощью AI Review и локальной LLM Ollama прямо в CI/CD — без токенов и VPN.

Читать далее

Подсчёт количества запросов к БД в автотестах Django

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

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

Читать далее

Учебник под микроскопом. Часть 2. Предобработка текста: регулярки, токенизация и лемматизация на практике

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

В статье рассмотрен процесс предобработки текстов учебников для последующего анализа и обучения моделей машинного обучения. Показано, как из "сырого" текста, извлечённого из PDF, получить очищенный, структурированный и готовый к обработке набор данных. Основное внимание уделено этапам очистки текста от лишних символов, нормализации регистра, токенизации, лемматизации и удалению стоп-слов, а также POS-теггингу. Для каждого этапа приведены примеры с использованием Python и библиотек spaCy, re, а также альтернативные инструменты (NLTK, ftfy, clean-text). В качестве практического применения рассматривается проект EduText Analyzer, направленный на автоматизированный анализ учебников по иностранным языкам. Данные после предобработки сохраняются в форматах CSV и TXT, что обеспечивает дальнейшую обработку, анализ и обучение моделей. Статья предназначена для исследователей в области NLP, педагогов и разработчиков образовательных технологий.

Читать далее

Паттерны программирования при работе с LLM

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

LLM - мощный инструмент, но его эффективность в продакшене зависит не от одного «хитрого промпта», а от всей архитектуры: что мы даём модели, как управляем её рассуждением и как проверяем/обрабатываем результат. В этой статье - компактная карта паттернов, разбитая по этапам конвейера: Input -> Reasoning -> Output.

Читать далее

Изучаем Python: модуль math для начинающих с практическим домашним заданием

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

Базовых арифметических операторов в Python хватает не всегда. Как только задача выходит за рамки простого сложения или умножения, в дело вступает стандартный модуль math. Но как им правильно пользоваться и какие возможности он скрывает?
В этой статье мы структурно разберем один из самых фундаментальных модулей Python. Поговорим о корректном импорте, рассмотрим ключевые константы (pi, e, inf) и подробно разберем самые востребованные функции: от sqrt и pow до тригонометрии и логарифмов. Весь материал — строго по делу, без "воды" и с практическими примерами.
В конце вас ждет домашнее задание из трех задач разного уровня сложности, чтобы закрепить теорию на практике. Будет полезно как начинающим разработчикам, так и тем, кто хочет систематизировать свои знания.

Читать далее

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

Создаем 'Сапёр' на Python с нуля: пошаговое руководство для начинающих

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

Разбираем создание «Сапёра» на Python. Идеальный проект для начинающих, чтобы на практике освоить Pygame и основы геймдева.

Внутри — подробное пошаговое руководство, где мы:
• Настроим рабочее окружение с venv.
• Напишем игровую логику с нуля, отделив её от графики.
• Реализуем рекурсивный алгоритм для открытия пустых полей.
• Отрисуем всё на экране и научим игру реагировать на клики.

Читать далее

OpenSource, или как я перестал бояться и полюбил автотесты

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

Всем привет! Меня зовут Илья. Я давно читаю habr, не так долго занимаюсь программированием и еще чуть меньше времени хочу написать здесь статью. Не то, чтобы это идея фикс (или hotfix), но лучше опубликоваться и жалеть, чем поставить в план на «когда-нибудь потом», ничего не сделать, и «получить за это премию». Таких задач у меня уже накопилось на несколько жизней вперед, поэтому, приняв волевое решение, я выделил время на графоманию.

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

Идея открытого программного обеспечения мне нравится. Люди, создающие OpenSource проекты вызывают интерес, особенно, когда их продукты востребованы и конкурентноспособны. Двигать индустрию IT в свободное от работы время, вместо того, чтобы предаваться гедонизму — достойно уважения. Особенно, когда сам активно пользуешься подобными продуктами, вместо платных аналогов или ручного труда.

Читать далее

«LLVM для AI». Крис Латтнер и язык программирования Mojo

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

Крис Латтнер (Chris Lattner) — создатель CPU-компилятора LLVM и соавтор Swift — предложил новый язык программирования Mojo, спроектированный для одновременного программирования CPU, GPU и TPU (тензорные ядра, оптимизированные для матричного умножения, а это и есть инференс LLM), без всяких лишних библиотек типа CUDA, ROCm и XLA.

Mojo — это надмножество Python с производительностью С и потенциальная замена Rust. Код на нём легко переносится между различными GPU, при этом платформа Modular быстрее обновляется под новые модели GPU, чем сама Nvidia выпускает обновления для своего софта (новые attention kernels).

Простой и мощный язык для написания и деплоя LLM-приложений независимо от оборудования (AMD, Nvidia, Intel и проч.), с метапрограммированием во время компиляции и прочими штуками. Что-то вроде единой «LLVM для AI». Унифицированная программная платформа, которая запускается на любом железе. Это ещё и самый простой способ ускорить Python-приложение в 10−1000 раз, не переписывая его фрагменты на Rust или C++ (что по сути делают NumPy и PyTotch).

Читать далее

Создание пользовательских обработчиков для логов в Python

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

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

Читать далее

Whisper X без докера- простой GUI на Windows

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

Тут вот человек написал навороченную статью про установку под Докер этой штуки,
но так как я программист не настоящий ( а всё через нейросети), и Linux-ом баловался только лет 20 назад, то решил всё же под Windows всё это сделать, ибо полезно:

1) телефонные звонки можно иногда расшифровать
2) делать интервью для написания книги ( в ролях)
3) как там уже писали про всякие деловые разговоры..
4) ну и так далее и так далее..потом этот текст засунуть в нейросеть и сделать выводы.

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

При других настройках все гораздо лучше- как на скрине.

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

Потом борьба с ошибками и пожалуйста..

Это я к тому, что на Reddit-е пока все это делал наткнулся на жалобы, вот мол, а почему под Windows нет сборки? Типа всё на линуксе да на линуксе, а сделать такое оказывается делов на пол-дня не программисту.

Читать далее

Байесовский анализ и временные ряды в прогнозировании отказов оборудования на примере нефтегазовых компаний

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

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

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

Читать далее

Рецепт vLLM с мистралем. Часть 1

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

В первой части мы загрузим и запустим модель Mistral-7b, используя технику QLoRA, метода 4-битного квантования, который позволяет значительно уменьшить размер модели без потери её производительности.

Вместе мы разберёмся, как загрузить модель в 4-битном формате, изучим все варианты её конфигурации и запустим её для выполнения задач (инференса).

Читать далее

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