Python Portal
56.7K subscribers
2.39K photos
364 videos
51 files
952 links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
Эти Google Colab-ноутбуки помогают реализовать все алгоритмы машинного обучения с нуля 🤯

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍255
кресло для программирования против кресла для отладки.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁51👀6
Сейчас ИИ-инструменты уже умеют читать сообщения, размышлять над ними и сами дергать нужные функции.

Для сборки таких связок есть LangChain — популярный фреймворк, который позволяет подружить языковые модели, инструменты и приложения.

В этом туториале показывают, как собрать и задеплоить своего ИИ-агента на связке LangChain, FastAPI и Sevalla.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
12👍5😁4
Совет по Python:

Можно сделать поля dataclass неизменяемыми, указав frozen=True.
В таком случае поля нельзя мутировать после создания инстанса.

Пример ниже👇

from dataclasses import dataclass

@dataclass(frozen=True)
class Color:
name: str
hex_value: str

color = Color("red", "#FF0000")

# color.name = "blue" # выбросит FrozenInstanceError


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
20
Каждый раз, когда я узнаю что-то новое в области технологий, в отрасли появляется еще три новых вещи, которые нужно изучить.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😢7310🤯7👍4🔥2🤝1
Где получить навыки, для старта карьеры в ИТ?

Развивайтесь в аналитике и разработке на бесплатной программе от экспертов из Т-Банка.

В Т-Академии вы погрузитесь в решение практических задач, схожих с теми, над которыми работают в крупных ИТ-компаниях.

А еще:

— онлайн-обучение в удобное время;
— нагрузка от 14 часов в неделю — можно совмещать с учебой или работой;
— мастер-классы, экскурсии в офисы и встречи в ИТ-хабах;
— чат с обсуждением заданий.

В процессе обучения участники получат шанс пройти собеседование в Т-Банке.

Успейте подать заявку до 23 января
🤔4🤣31
Лучшие библиотеки Python 2026 года

Общего назначения

▪️ty — сверхбыстрый type checker нового поколения
▪️complexipy — измеряет сложность кода так, как её чувствует человек
▪️Kreuzberg — извлечение данных из 50+ форматов
▪️hrottled-py — rate limiting с 5 алгоритмами
▪️httptap — HTTP waterfall прямо в терминале
▪️ fastapi-guard — безопасность FastAPI без боли
▪️modshim — расширяй модули без monkey-patching
▪️Spec Kit — спецификации → рабочий код
▪️Skylos — dead code + уязвимости
▪️FastOpenAPI — OpenAPI для любого фреймворка

AI / ML / Data

▪️MCP Python SDK + FastMCP — стандарт интеграции LLM с инструментами
▪️TOON — JSON, оптимизированный под токены
▪️ Deep Agents — агенты с планированием и памятью
▪️ smolagents — агенты, которые думают кодом
▪️ LlamaIndex Workflows — event-driven AI workflows
▪️ Batchata — дешёвые batch-запросы к LLM
▪️ MarkItDown — любые файлы → Markdown
▪️ Data Formulator — анализ данных через natural language
▪️ LangExtract — точное извлечение сущностей из текста
▪️ GeoAI — ML + геоданные без боли

Детально, с примерами и разбором — в полной статье

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
11👍6
Ускорение процесса решето Эратосфена

1. Быстро вспомним алгоритм

Классическая реализация:

def eratosthenes(n):
is_prime = [True] * (n + 1)
is_prime[0] = is_prime[1] = False

for i in range(2, int(n ** 0.5) + 1):
if is_prime[i]:
for j in range(i * i, n + 1, i):
is_prime[j] = False

return is_prime


Время — O(N log log N). Нас будет интересовать не асимптотика, а то, насколько можно ускорить чисто реализацией.

2. Оптимизация №1 — не трогаем чётные числа

Идея простая:

* все чётные, кроме 2, составные
* если работаем только с нечётными, уменьшаем массив и количество итераций примерно вдвое

Реализация:

def eratosthenes_odd(n):
if n < 2:
return []

size = (n + 1) // 2
is_prime = [True] * size
is_prime[0] = False

limit = int(n ** 0.5) // 2
for i in range(1, limit + 1):
if is_prime[i]:
p = 2 * i + 1
start = (p * p) // 2
for j in range(start, size, p):
is_prime[j] = False

return is_prime


3. Оптимизация №2 — вместо list[bool] использовать bytearray

Мысль:

* bool в Python — это объект
* bytearray — плотно упакованный буфер
* меньше накладных расходов и лучше ложится в CPU cache

Пример:

def eratosthenes_bytearray(n):
is_prime = bytearray(b"\x01") * (n + 1)
is_prime[0:2] = b"\x00\x00"

for i in range(2, int(n ** 0.5) + 1):
if is_prime[i]:
for j in range(i * i, n + 1, i):
is_prime[j] = 0

return is_prime


4. Оптимизация №3 — гибрид двух подходов

def eratosthenes_fast(n):
if n < 2:
return []

size = (n + 1) // 2
is_prime = bytearray(b"\x01") * size
is_prime[0] = 0

limit = int(n ** 0.5) // 2
for i in range(1, limit + 1):
if is_prime[i]:
p = 2 * i + 1
start = (p * p) // 2
is_prime[start::p] = b"\x00" * (((size - start - 1) // p) + 1)

return is_prime


5. Сравнение по времени

Тест на входе n = 10_000_000:

>>> eratosthenes.py
real 0.634s

>>> eratosthenes_odd.py
real 0.245s

>>> eratosthenes_bytearray.py
real 0.801s

>>> eratosthenes_fast.py
real 0.028s


Выводы:

* пропуск чётных (№1) даёт ~2.6× ускорение
* bytearray (№2) сам по себе не ускоряет — это больше про память
* гибрид (№3) даёт ~22.6× ускорение

Ключевой приём в №3:

is_prime[start::p] = b"\x00" * (((size - start - 1) // p) + 1)


Здесь нет Python-цикла — всё делает C-уровневая операция над слайсом. На таких задачах это огромная разница.

Общая мысль: в Python чаще всего ускоряют не асимптотику, а модель памяти и количество проходов по данным. Циклы + память → главные факторы.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🤯64🔥2
😅😅😅

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
42🔥9😁9🤔3
This media is not supported in your browser
VIEW IN TELEGRAM
Мы рады представить Pocket TTS — text-to-speech модель на 100 млн параметров с качественным голосовым клонированием, которая запускается прямо на ноутбуке без GPU. Открытая, лёгкая и очень быстрая.


— так представили новую text-to-speech модель 😁

Проблема текущего TTS:
огромные LLM-модели (1B+ параметров) требуют GPU
маленькие модели типа Kokoro (82M) быстрые, но не умеют гибко клонировать голос

Pocket TTS закрывает этот разрыв. Она работает быстрее реального времени на обычном ноутбучном CPU, сохраняя мощность крупных моделей.

Настоящее голосовое клонирование: Pocket TTS нужно всего 5 секунд аудио, чтобы уловить:
тембр конкретного голоса
эмоцию и акцент
акустические условия (реверб, качество микрофона)

Можно использовать их библиотеку голосов или клонировать голос из крошечного сэмпла.

Цифры это подтверждают. Несмотря на размер (100M параметров), Pocket TTS обходит F5-TTS и DSM по Word Error Rate (1.84) и по Audio Quality ELO. Это единственная модель в своём классе, которая умеет клонировать голос и при этом спокойно работает на CPU.

Как это удалось? Они отказались от дискретных токенов. Pocket TTS построена на Continuous Audio Language Models (CALM) и предсказывает последовательности непрерывных латентов напрямую, используя одношаговый sampling (Lagrangian Self-Distillation). CALM paper: …

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

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭6👍41