IT-новости про Python, которые стоит знать

Собрали в одном месте самые важные ссылки
читайте авторский блог

     30.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Менеджер данных: как новая роль изменила подход к работе с ML

Мы создаём ML-модели и сервисы, которые автоматизируют работу с картами и данными. Но перед тем, как обучить модель и выкатить сервис, есть ещё много работы по сбору датасетов и разработке моделей. И обычно все эти задачи выполняли ML-инженеры.

     29.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Возможно ли все еще отличить сгенерированный текст от написанного человеком?

Основная задача была определить сгенирирован ли текст или написан студентом(типичная бинарная классификация). Знаний тогда было не очень много, чтобы придумать свое решение, поэтому, по заветам курса, не стал придумывать велосипед, накинул побольше веса для CatBoost и попытался попасть в конечное распределение на private с помощью замены наивного баеса на SVM. В итоге, везение было на моей стороне, я получил серебро за это решение, заняв 152 место из 4500)

     01.02.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Релизы

IPython - 8.32.0

Интерактивная оболочка для языка программирования Python. Скачать можно по ссылке: https://pypi.python.org/pypi/IPython

     29.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

FastAPI vs Litestar: выбираем лучший фреймворк для микросервисов

Сегодня поговорим о FastAPI и Litestar — фреймворках для микросервисов. У каждого из них свои сильные стороны, так какой выбрать для своего проекта? Давайте разбираться. Ниже — о плюсах и минусах каждого, сравнение производительности и примеры валидации.

     29.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Fake Django Objects With Factory Boy

The factory_boy library is a tool for managing fixtures for your tests. This article shows you how to use it with Django.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Concurrency testing — отлавливаем состояния гонки

В статье разберём некоторые техники обнаружения плавающих багов, вызванных конкурентностью. Сделаем подход к автоматическому тестированию устойчивости веб-сервисов к различным race condition. Примеры будут на python + asyncio + sqlalchemy, но эти подходы применимы к любым моделям конкурентности, которые подвержены состояниям гонки.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Loss Landscape Analysis — новая библиотека для анализа точности обучения и оценки обобщающей способности нейросетей

При работе с нейросетями-классификаторами у всех на слуху какие-то известные архитектуры, которые характеризуются числом параметров, скоростью вычислений (инференса), точностью выполнения той или иной известной задачи. Популярны соревнования, посвящённые тому, насколько точно можно решить задачу классификации на типовых датасетах, и часто борьба уже идёт за доли процента [PWC]. Однако в реальных задачах нейросети часто показывают себя куда хуже, чем в «лабораторных» условиях, что переводит акццнт внимания с тренировочных и тестовых (train-test) задач на проверку обобщающей способности (generalization) нейросетей.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Апгрейд Telegram-бота для управления внутренними процессами: наш опыт вам в копилку

В этой статье рассказываю, как мы обучили Telegram-бота для оповещения о задачах, согласовании бизнес-процессов и очистки каналов от уволившихся сотрудников. Мои коллеги Руслан Мансуров и Руслан Яруллин раскроют детали, как мы боролись с препятствиями во время обучения и фейлах на первых попытках. В конце поделимся статистикой, показывающей, какой положительный эффект оказал бот на работу сотрудников.

     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Релизы
     28.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Статьи

Чистый код в Python

!Это перевод статьи Clean Code in Python. В данной статье Nik Tomazic рассказывает о чистом коде, его преимуществах, различных стандартах и принципах, но что самое главное– он дает общие рекомендации по написанию чистого кода. Прочитав данную статью в оригинале, я понял, что это именно то, что я хотел бы прочитать в самом начале своего пути разработки на Python.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Контролируемая генерация для больших языковых моделей (LLM)

Вы когда-нибудь сталкивались с тем, что языковая модель, даже лучшая, типа GPT-4 или Клод, не соблюдает строгий формат ответа? Например, выдаёт неверный JSON или добавляет лишние поля, что приводит к сбоям в сервисе? Эти проблемы могут вызывать значительные трудности при интеграции с другими системами, требуя сложных обходных решений и усложняя логику обработки данных. На этом докладе я покажу, как можно заставить модели строго следовать заданным форматам ответов. Я расскажу, как использовать современные фреймворки для контролируемой генерации, чтобы гарантировать выдачу корректных структурированных данных, будь то JSON, код или любые другие форматы. Доклад будет полезен не только специалистам по языковым моделям, но и разработчикам, знакомым с простыми концепциями конечных автоматов. Вы увидите, как эти известные алгоритмы в сочетании с языковыми моделями дают интересные результаты. Кроме того, я объясню дополнительные преимущества контролируемой генерации, такие как zero-shot классификация, вызов внешних функций и ускорение генерации.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Как тестировать питонячьи либы

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

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Долгая дорога к JIT

JIT или не JIT? Вот в чём вопрос. Python — язык с многолетней историей. И на протяжении всей своей истории он не был фаворитом в вопросах производительности. Было много разных попыток приблизиться к решению этой проблемы, в том числе и с добавлением JIT (pypy, numba, etc.), но у большинства из них был фатальный недостаток. Они были инструментами для решения конкретных проблем, про которые вспоминали, только когда других вариантов уже не осталось, когда уже не жалко инвестировать дополнительное время в ускорение узкий мест и переписывание кода. Но что же нам предвещает добавление JIT в коробочную версию cpython? Мы получим бесплатное ускорение всех наших программ и возрадуемся или всё не так просто? Давайте попробуем разобраться вместе.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Я ускорил всё, кроме себя

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

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Мультиагентные системы и автопромптинг

AI-агенты захватывают наш мир, и раз бороться с ними не выйдет — стоит научиться их делать. А ещё лучше — пусть AI-агенты создают себя сами. В докладе будет разбор того, как научить агентов писать себе промпты, измерять качество решений. Обсудим основные проблемы, которые могут возникнуть, и выбор правильной схемы памяти для агентов. Отдельное внимание уделим обучающимся агентам, которые анализируют обратную связь от пользователей и становятся лучше. Доклад будет наиболее интересен тем, кто создает персонализированных AI-ассистентов.

     27.01.2025       Выпуск 581 (27.01.2025 - 02.02.2025)       Видео

Как и зачем я пишу новый учебник по Python

Все, кто когда-либо писал учебники, хором говорят: не пишите учебник. Настала моя очередь присоединиться к этому хору: год назад я сел писать с нуля учебник по Python. И прямо сейчас провожу обкатку написанного на фокус-группе, а в начале 2025 года планирую издать книгу в бумаге. Это доклад о том, как увлечение нейрофизиологией переросло в мой самый большой эксперимент за 25 лет работы программистом: создание самоучителя для взрослых. Я расскажу, как выбирал последовательность обучения, почему начал учебник с expression/evaluation/value, зачем объяснять списки через словари, чем мне не нравится слово "переменная", и, главное — почему я хочу издать всё это в бумаге.