Обновить
619.01

Python *

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

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

Мы решили задачу омографов и ударений в русском языке

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

Мы наконец решили задачу омографов. Конечно, с рядом оговорок, куда без них. Получилось пресловутое приключение на 20 минут.

Несмотря на кажущуюся простоту (задача по сути является бинарной классификацией, число кейсов с тремя валидными вариантами ничтожно мало), задача является просто кладезем различных "мин замедленного действия" и типичных граблей в сфере машинного обучения. Да, задачу "ёфикации" (расстановка буквы ё там, где люди её поленились поставить) мы считаем частным случаем задачи простановки ударений и омографов.

Также мы опубликовали наше продуктовое решение для простановки ударений (в омографах в том числе) в рамках репозитория silero-stress и также напрямую через pypi. В ближайшее время добавим эту модель и обновим наши публичные модели синтеза и раскатим более мощную "большую" (тоже маленькую по современным меркам) версию модели в приватные сервисы и для клиентов. Также мы опубликовали бенчмарки качества и скорости публичных академических решений … и там всё очень неоднозначно.

Наливайте себе чай, садитесь поудобнее. Мы постараемся описать наш путь длиной в вечность без лишних подробностей.

Сели, налили, читаем

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

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

В этом уроке мы делаем нашего бота умнее и организованнее. Сначала наводим порядок в коде: разбираемся, что такое Роутеры, и выносим всю логику в отдельные файлы, как это делают профессионалы. Затем учим бота реагировать не только на текст, но и на фото и стикеры, используя мощные фильтры aiogram.

Читать далее

Собрал телеграм-бота в нейросетях за 2 дня и заработал 1000 рублей

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

Привет! Вообще у меня свой бизнес есть, а программирую я так, для души.

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

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

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

Решил попробовать тоже.

Увидел, как кто-то в Телеграме опубликовал пост с мемасом внутри поста, собранным из эмодзи.

Читать далее

Вышел Python 3.14. Насколько он быстр?

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

В ноябре 2024 года я написал пост «Действительно ли Python такой медленный?», в котором протестировал множество версий Python и отметил стабильный прогресс производительности языка.

Сегодня девятое октября 2025 года, прошла всего пара дней после официального релиза Python 3.14. Давайте снова запустим бенчмарки, чтобы проверить, насколько быстра новая версия Python!

Примечание: если вам неинтересны таблицы и графики и вы хотите просто прочитать мои выводы, сразу переходите к концу статьи.

Читать далее

Как я сделал LLM-сервис, который понимает буровые сводки

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

Привет! Меня зовут Стас, я занимаюсь R&D в компании ROGII.

Я пришёл в ROGII после нескольких лет работы «в поле» — от тундры Уренгойских месторождений до Сахалина. Там я понял, что буровые данные живут в хаосе: у каждого вендора — свой формат, у каждой скважины — свой стиль отчёта.
Когда я оказался в компании, которая консолидирует буровые данные в облаке, задача встала ребром: нужно научить машину понимать суточные рапорты так же, как это делает инженер.

Мы собрали 507 PDF‑файлов (всего 14 678 страниц) и выделили 23 типа отчётов по признаку компании и структуры.
Но традиционные подходы: ручной ввод, регулярки, rule‑based и классический NLP — оказались или неэффективными, или нежизнеспособными.
Тогда я обратился к LLM.

Читать далее

PEP 8 как религия: почему Python сам не соблюдает свои же правила

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

Команда Python for Devs подготовила перевод статьи о PEP 8. Мысль проста: споры о стиле в Python часто сводятся к одному — snake_case против camelCase. Даже сам Python не следует своим же правилам. Так стоит ли вообще относиться к PEP 8 как к догме?

Читать далее

ReVu — Open Source AI-ревьюер для ваших Pull Request

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

Всем привет!

Недавно мы с приятелем обсуждали, как устроены рабочие процессы в бигтех-компаниях и какую роль в них уже играет ИИ. Речь в основном шла о зарубежных компаниях — у него там есть знакомые, которые делились опытом изнутри. Один из самых любопытных моментов — использование искусственного интеллекта для предварительного код-ревью в Pull Request: прежде чем коллеги возьмутся проверять изменения, PR уже анализирует ИИ и указывает на потенциальные проблемы.

Эта идея меня зацепила, и я решил изучить, какие готовые решения уже существуют (кроме встроенного в GitHub Copilot). Из более-менее крупных нашёл только PR Agent. Я протестировал его, но по ряду причин он мне не подошёл: хотелось больше гибкости, настройки под свои нужды и возможности запускать всё самостоятельно, без передачи кода сторонним сервисам.

Так родился проект ReVuself-hosted инструмент для автоматического код-ревью в Pull Request с помощью ИИ. Он универсален, легко кастомизируется и не требует доверять исходный код внешним платформам.

Если вам интересны подобные материалы и проекты, подписывайтесь на Telegram-канал «Код на салфетке» — там я делюсь гайдами для новичков, историями разработки и полезными инструментами.

Читать далее

Дамп пакетов composer через python-скрипт

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

Просто оставлю свой скрипт дампа пакетов composer тут. Адаптируйте под свои нужны.

Применял для резервного копирования пакетов, из-за нестабильной работы интернета при получении данных с зарубежных сервисов из-за кривых фильтров РосКомНадзора (РКН).

Читать далее

Регулярная катастрофа и как её избежать. Подход к регулярным выражениям

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

Салют, Хабр!

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

Читать далее

От нестационарности к прогнозу: пайплайн анализа и моделирования временных рядов

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

Привет, Хабр! Я Михаил Зуев — Data Scientist из команды затрат корпоративных
клиентов Сбера. Мы много предсказываем, классифицируем и прогнозируем.
Впервые столкнувшись с последним и проведя исследование по этой теме, я
столкнулся с большим количеством неструктурированной информации. Эта статья —
одновременно описание моего пути и небольшое упорядоченное наставление по
анализу и прогнозированию временных рядов, которое я сам хотел бы получить.

Читать далее

Топ-5 библиотек Python, которые должен знать каждый новичок

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

Знания синтаксиса Python недостаточно, чтобы решать реальные задачи. Сила языка — в его экосистеме. В этой статье мы разбираем 5 «рабочих лошадок», которые должен иметь в своем арсенале каждый начинающий разработчик: Requests, BeautifulSoup, Pandas, Telebot и Pillow.

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

Читать далее

12 фишек в административной панели Django, которые экономят мне 12 часов в неделю

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

12 способов кастомизации Django admin — поиск, фильтры, инлайны, действия, автодополнение, list_editable и оптимизация запросов — которые значительно повышают продуктивность.

Я обожаю функции-бумеранги: сделал работу один раз — и они продолжают приносить тебе пользу. Административная панель Django просто набита ими. Небольшие, точечные настройки, которые сбривают минуты с каждой задачи, пока ты не замечаешь, что к пятнице появилось свободное место. Вот 12 изменений, которые стабильно будут помогать вам экономить время, каждую неделю.

Базовая модель
В качестве примера представьте:

Читать далее

Использование Jupyter с виртуальными окружениями Python

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

Так сложилось, что программный пакет Jupyter как бы не в курсе о существовании виртуальных окружений Python, ключевого инструмента изоляции среды в Python. Информация по этой теме в Сети крайне разрознена. В этой статье собраны все известные автору способы обхода / смягчения этой проблемы; надеюсь, кому-то она поможет не тратить столько дней на задачу, которая должна была быть простой.

Читать далее

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

Chonkie: революция в RAG-чанкинге — скорость, лёгкость, удобство

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

В эпоху, когда большие языковые модели (LLM) становятся всё более мощными и применяются во многих задачах, одна из ключевых проблем остаётся прежней — как эффективно снабжать их релевантным контекстом. Одним из популярных решений является подход RAG, где качество итогового ответа зависит от целого ряда факторов, одним из которых является качественное чанкирование исходных текстов. Сегодня мы рассмотрим одно из новых и интересных решений.

Всем привет! Меня зовут Вадим, я Data Scientist в компании Raft. В этой статье я расскажу о Chonkie — библиотеке для простого и быстрого чанкирования документов, а также на практике применю её и сравню с другими популярными решениями: LangChain и LlamaIndex.

Читать далее

Как я искал работу бэкенд разработчика с одним годом опыта. Мысли, эмоции, статистика

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

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

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

Читать далее

Django 6.0: Ключевые функции, критические изменения

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

В Django 6.0 есть кое-что для вас. Давайте рассмотрим самые важные новые функции и изменения, о которых вам нужно знать.

Читать далее

С чего начать? 10 учебных проектов на Python для вашего GitHub

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

Написал статью с подборкой пет-проектов на Python.

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

Читать далее

Как я научил Telegram-бота говорить о постах ДПС в реальном времени

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

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

Эта история началась ещё в конце осени 2024 года. На тот момент я, окрылённый покупкой первой машины — ВАЗ 2108, очень переживал за дорожную ситуацию. Прав на тот момент у меня ещё не было, кроме того машине не была на учёте и не имела страховки. Было больше желание поковыряться в машине, чем поездить. Но все таки детали продаются в магазине, а до магазина приходилось добираться.

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

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

Около 6-7 месяцев спустя, уже пару раз остановленный сотрудниками ДПС я начал опасаться за штрафы или перевозку машины на штраф стоянку и я все таки вернулся к этой идее.

Они среди нас (или Джонни, они на деревьях!)

Читать далее

Как я пытался ускорить анализ 12 000 комментариев с помощью GPU за 50 тысяч, но победил процессор

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

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

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

Хабр — 4 497 комментариев

Т‑Ж — 4 186

Смартлаб — 1 998

Пикабу — 726

Вручную искать в этом массиве текста слова поддержки — долго и нудно, а главное — совершенно не масштабируется. Так родилась идея: поручить всё локальной нейросети для анализа тональности. Заодно я хотел на практике разобраться с моделями на основе BERT.

Для этой цели у меня был, как мне казалось, идеальный инструмент: компьютер с Ubuntu 24 LTS, Docker и мощной NVIDIA GeForce RTX 5060 Ti на 16 ГБ. Казалось, что с RTX 5060 Ti на 16 ГБ анализ пройдёт молниеносно. Но на деле именно GPU стал главной точкой отказа — пришлось всё считать на CPU.

Код на GitHub.

Читать далее

Опыт гуманитария в дообучении LLM с помощью WebUI Text Generation

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

Продолжаю делиться опытом освоения нейросетей человеком с гуманитарным образованием и без IT-бэкграунда. На этот раз моей целью было разобраться, как происходит дообучение готовых LLM-моделей, как выстраивать процесс, какие использовать данные, модели, настройки и прочее. Зачем мне это понадобилось?

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

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

Но для этого нужно понимать, как устроен процесс обучения и из каких элементов он состоит. На момент, когда я взялся за эту тему, у меня были только идея и желание разобраться. Я понимал, что нужно начинать с малого, двигаться небольшими шагами от простого к сложному. Поскольку среди моего окружения не оказалось людей, разбирающихся в этой теме, а понятных гайдов по обучению я не нашел, все мои вопросы по обучению адресовались Grok, Qwen, Deepseek, Gemini и ChatGPT (только бесплатные версии).

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

Читать далее

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