Обновить
517.99

Python *

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

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

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

Время на прочтение6 мин
Количество просмотров2.6K

Всем привет!

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

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

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

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

Читать далее

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

Время на прочтение3 мин
Количество просмотров642

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

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

Читать далее

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

Время на прочтение8 мин
Количество просмотров5.4K

Салют, Хабр!

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

Время на прочтение5 мин
Количество просмотров26K

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

Читать далее

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

Время на прочтение4 мин
Количество просмотров12K

История о том, как я хотел провести анализ комментариев, а в итоге получил неожиданный, но полезный опыт с локальным 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 мин
Количество просмотров3.5K

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

Время на прочтение14 мин
Количество просмотров18K

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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