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

Собрали в одном месте самые важные ссылки
консультируем про IT, Python


Новый материал в ленте
  Sphinx - 8.2.0

Python генератор документации. Скачать можно по ссылке: https://pypi.python.org/pypi/Sphinx/


Python Дайджест. Выпуск 581

(27.01.2025 - 02.02.2025)

поделиться выпуском 
Дайджест python,

Статьи

  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.

  Используем языковые модели в AI-агентах. Часть 2. Retrievers, TextSplitters

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

  Вредоносные пакеты deepseeek и deepseekai были опубликованы в Python Package Index

В рамках исследования и отслеживания угроз группа Supply Chain Security департамента Threat Intelligence экспертного центра Positive Technologies (PT ESC) обнаружила и предотвратила вредоносную кампанию в главном репозитории пакетов Python Package Index (PyPI). Атака была нацелена на разработчиков, ML-специалистов и простых энтузиастов, которым могла быть интересна интеграция DeepSeek в свои системы.

  Подключить педали экспрессии к компьютеру за полчаса

Эта статья — сжатый туториал на тему подключения педалей экспрессии к компьютеру. От читателя не требуется специальных навыков в области электроники, но умение паять желательно. На минималистичное повторение подключения при наличии всех узлов и материалов действительно достаточно полчаса (автор проверил с секундомером и уложился в 10 минут). С другой стороны, верхнего предела нет: потенциал по обработке сигнала с педалей (кривые, лимиты) при этом ограничивается разве что фантазией, средствами языка Python и быстродействием контроллера.

  Сводка от pythonz 26.01.2025 — 02.02.2025

А теперь о том, что происходило в последнее время на других ресурсах.

  У SAMURAI есть цель — zero-shot решение задачи Visual Object Tracking(VOT)

Визуальный трекинг объектов без обучения – сложная задача, особенно в динамических сценах. Новый метод SAMURAI расширяет возможности SAM-2, интегрируя механизмы моделирования движения и улучшая архитектуру памяти.SAMURAI использует фильтр Калмана для моделирования движения и стабилизации предсказаний, что позволяет значительно повысить точность трекинга в сложных условиях. Метод превосходит существующие zero-shot методы и демонстрирует конкурентоспособные результаты по сравнению с обучаемыми моделями.

  Озеро для дата-склада: как мы нырнули в новые методы хранения данных и что из этого вышло

В этой статье хочу рассказать, как мы изначально хранили данные, почему решили внедрить методологии Data Lake и Data Vault и к чему это привело. Кроме того, покажу, как мы изобрели свой велосипед разработали свой фреймворк по автоматизации работы с помощью модели Data Vault.

  Чистый код в Python

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

  Avoiding Mocks: Testing LLM Applications with LangChain in Django

A practical method for testing Django-based LLM apps with LangChain uses a custom fake backend to avoid mocks, enabling flexible refactoring and thorough validation of model interactions.

  Как создать планировщик путешествий с ИИ-агентом на CopilotKit, LangGraph и Google Maps API

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

  Применение ML для оптимизации работы питательных электронасосов в ТЭЦ металлургического комбината

Сегодня хочу рассказать, как мы совместно со специалистами ТЭЦ крупного металлургического предприятия сделали цифровой сервис для оптимизации работы питательных электронасосов (ПЭН). Годовой экономический эффект от реализации сервиса превзошел наши ожидания и составил 19,6 млн рублей. Это, на первый взгляд, не так много для большого завода, но учитывая, что там работает целый ряд подобных решений, в совокупности общая сумма экономии впечатляет.

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

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

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

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

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

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

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

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

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

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

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

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

Видео

  Зачем Яндексу своя бинарная сборка python

Зачем Яндексу своя бинарная сборка python В Яндексе используется своя система сборки, которая появилась более 10 лет назад. Она умеет собирать Python в замкнутые бинарные программы под все популярные платформы. В докладе рассмотрим разные способы дистрибуции Python сервисов и инструментов, выясним, что же такое бинарная сборка, какие она накладывает ограничения и даёт возможности.

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

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

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

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

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

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

  Как мы тестируем дата-пайплайны в рекламе Яндекса

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

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

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

  Python VS ГИС-инструменты: хватает ли питона для обработки гео-данных в индустрии?

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

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

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

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

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

  Делаем из питона го. Зачем?

Делаем из питона го. Зачем? Давайте признаем, что синхронный код писать проще: он прост, как доска. Но иногда хочется добавить какую-то многозадачность в свой код, особенно если у вас I/O-bound приложение. Асинхронность в питоне решает эту проблему, но при этом создаёт дополнительные сложности, например, классическую проблему сине-зелёных функций. А если ещё и изначально проект был на синхронном питоне, то не переписывать же его с нуля? А может, будем писать почти как в go с горутинами? Ровно так мы и делаем на нашем проекте. Расскажем, как мы к этому пришли и кому за это мы продали душу.

Релизы

  IPython - 8.32.0

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

  pymongo - 4.11

Python интерфейс для MongoDB. Скачать можно по ссылке: https://pypi.python.org/pypi/pymongo/

  pylint - 3.3.4

Статический анализатор Python-кода. Скачать можно по ссылке: https://pypi.python.org/pypi/pylint/