Обновить
1024K+

Python *

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

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

FastAPI на AMD FX-8320: оптимизация P99 latency в условиях ограниченных ресурсов (HDD, DDR3)

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

В 2026 году асинхронный Python уже никого не удивляет. Мы привыкли к автоскейлингу в облаках, но что делать, если ваш бюджет на инфраструктуру равен нулю, а в распоряжении есть только «печка» из 2012 года? Рассказываю про личный опыт выжимания максимума из FastAPI на AMD FX-8320: от тюнинга ядра Linux и PostgreSQL до миграции на Ed25519 и использования Rust-сервера Granian.

Читать далее

Как я снизил WER с 33% до 3.3% для русской речи на CPU: сравнение GigaAM, Whisper и Vosk

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

За два месяца я перепробовал три ASR-движка, шесть моделей Whisper, адаптивное чанкование, T5-коррекцию и ансамблевое голосование — и большая часть идей оказалась тупиком. В статье — подробный разбор шести тупиков и одной находки: почему GigaAM от Сбера на обычном CPU показывает 3.3% WER на русском, обходя Whisper large-v3-turbo на RTX 4090 (7.9%) в 2.4 раза. С бенчмарками, кодом и честными оговорками.

Читать далее

ООП в Python за 1 статью: от «Hello World» до архитектуры

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

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

Но однажды проект начинает расти.

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

Читать далее

AG-UI. Как написать AI ассистента для подбора подарков за 20 минут

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

Всем привет! Я Никита, Principal Engineer в стартапе AG2, мейнтейнер одноименного фреймворка для разработки AI агентов (AG2), автор фреймворка FastStream и просто опенсорс и AI энтузиаст.

И, как любой разработчик, я иногда запускаю пет-проекты.

Один из таких проектов, который я запустил после новогодних праздников - это AI ассистент по подбору подарков (с интегрированным вишлистом) Дарий

На его примере я хочу рассказать о протоколе AG-UI и на практике показать, как разработать ChatGPT-like агентное приложение за пару минут. Рассмотрим как бекенд (python), так и фронтенд (NextJS).

Важное уточнение: это реальный проект, с которым вы можете взаимодействовать. Это не разбор искусственных hello-world примеров.

После прочтения статьи у вас будет подробное руководство по разработке интерактивных chat-based приложений с элементами Generative UI.

Читать далее

Я устал выпрашивать логи у завода, поэтому написал свой симулятор сталеплавильной печи

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

Давайте честно. Все эти конференции про "Цифровые Двойники" и "AI на производстве" - это красиво только на слайдах в PowerPoint.

В реальности, когда ты приходишь к главному технологу и просишь данные для обучения модели (например, чтобы предсказывать прогар футеровки), происходит одно из двух:

Читать далее

Базовый минимум. Часть 1:  большие языковые модели

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

Чат боты с ИИ легко воспринимать как «умного собеседника». Они отвечают связно и выглядят почти по человечески. Но что на самом деле находится по ту сторону диалогового окна? В этом тексте собраны базовые понятия, без которых трудно без которых сложно уверенно использовать языковые модели в реальных задачах и понимать границы их возможностей.

Читать далее

Как запустить 4 независимые нейросети на одном GPU (16 ГБ) под FastAPI

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

Как поднять мультимодальный AI-сервис (OCR, ASR, LLM, TTS) на одной GPU 16GB без облачных API?

Разбираем пошагово:

Подготовка VPS (Ubuntu + CUDA + драйверы)

FastAPI-архитектура с PyTorch/Transformers

Управление памятью (без OOM-ошибок)

Продакшен: systemd + Nginx + HTTPS + домен

Тестирование в Swagger

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

Для кого: DevOps, Python-разработчики, AI-интеграторы, стартапы.

Исходники в репозитории, демо-видео, лайфхаки по разработке прямо на сервере!

Читать далее

Ручное управление не делает нас сильнее: как я написал клиент для автоматизации тестирования

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

Всем привет! Меня зовут Стас, я ведущий инженер отдела сертификационного тестирования компании YADRO. Однажды мне стало лень вручную проставлять статусы тестов PASSED/FAILED в TestY TMS, и я написал свое клиент-серверное приложение ATS Studio. С его помощью я залечил боль ручного управления для нескольких команд YADRO.

Как мне это удалось, если я не пишу код на Python, и чему я научился в процессе, узнаете под катом.

Читать далее

Руководство по PyTorch для новичков: создаём модель множественной регрессии с нуля

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

В реальных задачах машинного обучения куда чаще приходится иметь дело не с «миллионами картинок», а с небольшими табличными датасетами вроде Abalone из UCI. В статье разбирается путь от честного EDA и линейной регрессии до нейросетевой модели на PyTorch: что дают трансформации признаков, какие проблемы создают гетероскедастичность и мультиколлинеарность, когда глубокая модель действительно улучшает метрики, а когда остаётся всего лишь дорогим способом получить те же самые 4–5 % выигрыша. По сути, это разбор того, где проходит граница здравого смысла между «добавим ещё один слой» и «нам хватит простой модели».

Читать далее

Магия Python: Почему a = 256 и b = 256 — это один объект, а с 257 это уже не работает?

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

Python часто называют языком, где «всё просто работает». Но за этой простотой скрываются агрессивные механизмы оптимизации, о которых разработчики часто узнают только в момент отладки странных багов.

Сегодня поговорим о том, как CPython управляет памятью для малых целых чисел (почему диапазон выбран именно от -5 до 256?), как работает паттерн Flyweight на уровне ядра языка и почему две одинаковые строки могут иметь разные id. А также разберем неочевидную разницу работы компилятора в интерактивной оболочке (REPL) и при запуске скриптов.

Читать далее

Максимальный профит от BIM-модели. Автоматическое формирование схем

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

Привет, дорогие BIM/ТИМ-энтузиасты! Меня зовут Сайыына Колесова, я BIM-координатор в компании КРОК. Я в BIM с 2020 года, реализую проекты для корпоративных задач компании, разрабатываю разные семейства оборудования, арматуры и устройств для корпоративной библиотеки. За это время создала ряд полезных скриптов для проектировщиков и координаторов. В статье расскажу про некоторые из скриптов, а именно, как мы из BIM-модели здания формируем схемы и получаем максимальный профит в программном обеспечении Revit.

Читать далее

Pydantic V2: Почему dataclasses вам больше не нужны

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

Вы пишите age: int, а Python спокойно пропускает туда строку. Программа падает, но не сразу, а в самый неподходящий момент.

Я расскажу, почему пора переходить на Pydantic V2. Он теперь работает на Rust (очень быстро), сам исправляет типы и спасает от глупых ошибок. Внутри: сравнение кода, работа с .env и немного практики.

Читать далее

Теория графов для программистов

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

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

Погрузиться в мир графов

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

Даем голос ESP: Уведомления в Telegram и ntfy

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

В прошлой статье  мы рассмотрели, как отлаживать код, загружать отредактированные файлы и удалять ненужные файлы на устройстве прямо из браузера (беспроводное управление устройством) через WebREPL и через uPyLoader. Теперь научим устройство "говорить" — отправлять нам сообщения  через систему push-уведомлений популярных мессенджеров.

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

Мы протестируем две системы уведомлений:

Telegram-бот — для ESP32, который будет отображать сообщения от модуля, обладающего достаточными ресурсами  для обработки SSL-шифрования, требуемого Telegram API.

Продолжаем

Как я написал CRM-систему для компании с помощью ChatGPT. Без опыта в коммерческом программировании

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


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

Это история о том, как я написал полноценную CRM-систему с помощью ChatGPT, работая обычным менеджером по работе с заказчиками.

Читать далее

«Просто используй Docker» — мой путь от Whisper к WhisperX

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

Несколько недель назад я опубликовал статью о том, как превратить обычный диктофон в инструмент для расшифровки речи с помощью OpenAI Whisper. Идея была создать бесплатную и приватную систему ИИ диктофона, которая избавляет от необходимости переслушивать аудиозаписи лекций или выступлений. Тогда статья нашла своего читателя, собрав 140 закладок.

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

Новая идея — не просто расшифровывать речь, а разделять её по голосам — как на совещании или встрече. Это называется диаризацией, и для неё существует продвинутая версия — WhisperX. Цель была проста — получить на выходе не сплошное полотно текста, а готовый протокол встречи, где понятно, кто и что сказал. Казалось, с Docker это будет легко.

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

Но когда я всё починил и заставил систему работать, результат превзошёл мои ожидания. Новейшая модель large-v3 в связке с диаризацией выдала не просто текст, а структурированный диалог. Это был настолько лучший результат, что я смог передать его большой языковой модели (LLM) и получить глубокий анализ одной очень важной для меня личной ситуации — под таким углом, о котором я сам бы никогда не задумался.

Именно в этот момент мой скепсис в отношении «умных ИИ‑диктофонов», которые я критиковал в первой статье, сильно пошатнулся. Скорее всего их сила не в тотальной записи, а в возможности превращать хаос в структурированные данные, готовые для анализа.

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

Весь код выложен на Гитхаб.

Зачем покупать ИИ диктофон?

Создание умных AI-агентов: полный курс по LangGraph от А до Я. Часть 2. Диалоговые агенты: память, сообщения и контекст

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

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

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

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

Читать далее

Почему асинхронный Python не такой популярный?

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

Недавно на Youtube появилась документалка о Python. Примерно в середине ленты есть драматический эпизод о том, как переход от Python 2 к 3 разделил сообщество (спойлер: в конечном итоге этого не случилось).

Первые версии Python 3 (3.0-3.4) в основном делали упор на стабильность и упрощение перехода пользователей с версии 2.7. В 2015 была выпущена версия 3.5 с новой фичей: ключевыми словами async и await для выполнения корутин.

Миновало десять лет и девять релизов, через считанные недели выпустят финальную версию Python 3.14.

Пока все отвлеклись на фичи разноцветного REPL в 3.14, в release notes появились серьёзные заявления, связанные с конкурентностью и параллелизмом.

Читать далее

Честно про вайб-кодинг с нуля для гуманитария

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

Статья для гуманитариев, решивших освоить вайб-кодинг с нуля. Автор, юрист без опыта программирования, делится 6-месячным опытом работы с Python, Excel и LLM. Рассказывает о трудностях, лайфхаках и результатах, предостерегая от иллюзий и вдохновляя на старт в IT.

Читать далее

Я сделал поисковик хуже Elasticsearch

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

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

BEIR — это бенчмарки поиска информации, ориентированные на сценарии использования в формате «вопрос-ответ».

Мой хобби-проект SearchArray добавляет в Pandas полнотекстовый поиск. Поэтому естественно, чтобы ощутить трепет от моих потрясающих навыков разработчика, я решил использовать BEIR для сравнения SearchArray с Elasticsearch (с тем же запросом + токенизацией). Поэтому я потратил субботу на интеграцию SearchArray в BEIR и измерение релевантности и производительности с корпусом MSMarco Passage Retrieval (8 миллионов документов).

Барабанная дробь...

Читать далее