IT Herald

Python

Создаём собственную модель принятия решений

В системах типа System 1 модель принимает решения на основе калиброванных вероятностей для всех возможных ответов. Однако при использовании структурированного вывода языковые модели требуют множество проходов для генерации валидного JSON, тогда как модели выбора (decision models) позволяют получить результат за один проход, выбирая из фиксированного набора вариантов.

Python 3.15: стабильный релиз с JIT компилятором и новыми типами данных

Вышел Python 3.15.0 с 5643 коммитами от 1012 контрибьюторов. Релиз включает экспериментальный JIT компилятор с 7-8% прироста производительности на x86-64 Linux, новые встроенные типы sentinel и frozendict, а также поддержку распаковки в list comprehensions и явный импорт модулей для ускорения запуска интерпретатора.

Выпуск Polars 2.0

Вышла версия Polars 2.0 с поддержкой out-of-core операций, значительными улучшениями производительности и SQL в качестве первоклассного гражданина. Новая версия показывает лучшие результаты на бенчмарках TPC-H и TPC-DS по сравнению с DuckDB и DataFusion.

Обёртка по типу Jev для LLM, включая модели с поддержкой видения

Обзор техники чтения вероятностей токенов LLM через logprobs API с применением к задачам компьютерного зрения. Практический пример с вебкамерой на Python демонстрирует классификацию кадров в реальном времени с Gemma 4 12B и OpenAI.

Jev в 25 строках Python

Реализация системы классификации Jev локально на Python без API-запросов и обучения. Всего 25 строк кода для получения вероятностей для нескольких вариантов выбора.

Может ли gzip быть языковой моделью?

Оказывается, стандартный архиватор gzip способен генерировать текст в стиле обучающей выборки благодаря фундаментальной связи между сжатием и предсказанием. Разработчик реализовал прототип на чистом Python, который использует поиск по лучу для выборки следующих символов на основе длины сжатого контекста.

Flet 1.0 – создавайте кроссплатформенные приложения на Python

Flet 1.0 позволяет создавать красивые веб-, десктопные и мобильные приложения из одной Python кодовой базы, не требуя опыта во фронтенд-разработке. Над проектом открытого исходного кода работает активное сообщество, поддерживающее шесть основных платформ.

Python-интерпретатор в 1024 байта

Разработчик создал работающий интерпретатор Python, который занимает всего 1024 байта кода на C. Интерпретатор способен выполнять циклы, функции, условные операторы и даже рекурсию — несмотря на экстремальные ограничения по размеру.

Предварительный релиз Polars 2.0

Команда Polars выпустила первый release candidate версии 2.0: потоковый движок становится движком по умолчанию для всех запросов LazyFrame, а сама библиотека — заметно строже к неявным преобразованиям типов и несовпадениям данных.

Когда str.lower() становится уязвимостью безопасности в Python

В Python обнаружена уязвимость (CVE-2026-17084), связанная с реализацией IDNA 2003: вызов str.lower() внутри алгоритма StringPrep использовал актуальные правила Unicode вместо зафиксированной в спецификации версии 3.2.0, что приводило к расхождениям при кодировании доменных имён.

Странности предопределённых констант в Python

В Python есть шесть предопределённых «констант» — True, False, None, __debug__, Ellipsis и NotImplemented, — но ведут они себя совсем не одинаково. Разбор показывает, что часть из них на самом деле лексические токены, часть — обычные builtin-объекты, которые можно переопределить, а __debug__ и вовсе занимает промежуточное и уникальное положение среди всех идентификаторов языка.

Новости и дайджесты — в Telegram @it_herald