ИИ: технологии, образование, будущее
150 subscribers
7.89K photos
4.98K videos
23 files
10K links
Новости и аналитика отрасли искусственного интеллекта.
https://koroteev.site/blog
https://vk.com/ai_tech_future
Download Telegram
Forwarded from Python/ django
Отличный курс для тех, кто хочет разобраться в нейронках с нуля от Андрея Карпати (OpenAI/Tesla).

Внутри бесплатная серия лекций на YouTube (и репа на GitHub), где ты с нуля учишься собирать нейронки. Всё максимально hands-on:

Автор не просто рассказывает теорию, а пишет код вместе с тобой — от самых азов до тренировки сетей.

https://github.com/karpathy/nn-zero-to-hero/

@pythonl
Forwarded from Python/ django
Media is too big
VIEW IN TELEGRAM
🖥 Что нового в Python 3.14 и почему стоит перейти

Python 3.14 вышел 7 октября 2025 года. Это новый стабильный релиз, который содержит как изменения в самом языке, так и улучшения в реализации, стандартной библиотеке, отладке и взаимодействии с многопоточностью.

Ниже - обзор ключевых нововведений, их смысла, применимости и возможных подводных камней.

🟠Основные нововведения (Release highlights)

- Отложенная (ленивая) оценка аннотаций - теперь аннотации не вычисляются сразу, что уменьшает накладные расходы.
- Поддержка нескольких интерпретаторов в рамках одного процесса через новый модуль.
- Новый синтаксис шаблонных строк (t-strings), который даёт больше контроля над статической и интерполированной частью.
- Более информативные сообщения об ошибках (например, подсказки для опечаток в ключевых словах).
- Поддержка формата сжатия Zstandard в стандартной библиотеке.
- Улучшенные возможности для отладки и профилирования, в том числе подключение к живому процессу без остановки.
- Улучшения в asyncio — команды для визуализации и диагностики задач, стеков ожидания и зависимостей.
- Уменьшение пауз сборщика мусора (gc) через инкрементальный сбор.
- Подсветка синтаксиса и автодополнение модулей в интерактивном режиме (REPL) по умолчанию.

🟠 Подробности и примеры

Ленивые аннотации - deferred evaluation of annotations

Раньше аннотации (для типов, документации, подсказок) могли вызывать вычисления прямо при определении функции или класса. Теперь они хранятся в виде «ленивых» структур и вычисляются по надобности. Это снижает накладные расходы на загрузку кода, особенно если аннотации сложные или содержат много forward-ссылок.

Есть модуль annotationlib, который позволяет исследовать аннотации программно и выбирать формат их получения — строки, объекты или отложенные ссылки.

Когда это особенно помогает:
- большие фреймворки, генерация кода, ORM, библиотеки с множеством аннотаций;
- ускорение импорта при старте приложений;
- уменьшение накладных расходов при работе с типами.

Что проверить при миграции:
- код, использующий __annotations__ напрямую, может требовать адаптации;
- убедитесь, что сторонние библиотеки, работающие с аннотациями, поддерживают новый формат.

Несколько интерпретаторов (subinterpreters)

Теперь в Python можно запускать несколько независимых интерпретаторов внутри одного процесса (модуль `concurrent.interpreters`).

Преимущества:
- изоляция между интерпретаторами (отдельная память, отдельный GIL);
- параллелизм на многоядерных системах;
- меньше накладных расходов, чем при использовании multiprocessing.

Ограничения:
- не все C-расширения поддерживают мультиинтерпретацию;
- коммуникация между интерпретаторами требует явных каналов (очереди, сообщения).

Это даёт реальную возможность распараллеливания CPU-задач без запуска отдельных процессов.

Template string literals (t-strings)

Новое синтаксическое средство — префикс t перед строкой, аналогично f'...'.
Результат — объект Template, который хранит текст и вставки по отдельности.


variety = 'Stilton'
template = t'Try some {variety} cheese!'


- Подробности
- Скачать
- Видеообзор

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
Наглядное сравнение скорости нового Python 3.14 с предыдущей версией

Теперь Python может использовать все ядра процессора так же эффективно, как C++ или Go - без сложных обходных путей и накладных расходов.

Многопоточность стала быстрее мультипроцессинга - впервые в истории Python.

Главное - новая сборка позволяет работать без GIL (Global Interpreter Lock), что меняет всё.

Как вы наверное знаете, GIL - это глобальная блокировка интерпретатора, которая позволяет в каждый момент времени исполнять только один поток байткода Python, даже если у тебя много ядер.

Раньше поэтому многопоточность в Python фактически не работала.

🔄 Как обходили GIL
До сих пор стандартный способ распараллеливания 0 мультипроцессинг.
Каждый процесс - свой экземпляр интерпретатора со своим GIL.

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

🚀 Что меняется в 3.14
В новой версии можно отключить GIL, и потоки теперь работают в общем адресном пространстве.
Общий доступ к памяти + никакой сериализации → значительное ускорение:
многопоточность теперь оказывает на ~33 % быстрее, чем мультипроцессинг.

📈 Эксперименты из репозитория koenvo/python-experiments/free-threading
- Продемонстрировано, что без GIL потоки действительно ускоряют работу задач с интенсивной синхронизацией и доступом к общей памяти.
- Показаны сравнения, где многопоточные версии (с отключённым GIL) часто превосходят мультипроцессные аналоги по времени выполнения.
- Тесты охватывают разные сценарии: CPU-нагрузки, обмен данными между потоками, циклы с синхронизацией.
- Репозиторий служит “proof of concept” — демонстрация, что free-threading действительно работает и приносит выгоду.

💡 Почему это важно
- Теперь реальная многопоточность в Python становится возможной и эффективной.
- Это особенно актуально для библиотек и фреймворков: ожидается, что PyTorch, NumPy и другие скоро получат поддержку free-threading.
- Уменьшаются накладные расходы на межпроцессное взаимодействие, улучшается масштабируемость на многопроцессорных системах.

Вот реальные примеры:
https://github.com/koenvo/python-experiments/tree/main/free-threading

@pythonl
Forwarded from Python/ django
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Если вы вдруг пропустили в Python 3.14 можно отключить GIL!

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

Теперь же Python способен реально выполнять потоки параллельно.

И библиотека uv уже полностью поддерживает эту возможность!

Посмотрите сравнение скорости на прикрепленном видео.

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
🖥 Python 3.15 - что нового

Вышла новая версия Python 3.15, и в ней несколько заметных обновлений, особенно для тех, кто работает с производительностью и отладкой.

🔧 Главные изменения:
- Добавлен новый модуль profiling.sampling — инструмент статистического профилирования,
который позволяет анализировать производительность кода без пауз и overhead’а.
- Оптимизирована стандартная библиотека: многие функции теперь работают быстрее.
- Улучшен сборщик мусора и работа с памятью.
- Расширена поддержка аннотаций типов.
- Повышена стабильность и снижена нагрузка на интерпретатор при многопоточности.

📈 Зачем обновляться:
- Новый профайлер поможет находить узкие места в коде без остановки приложения.
- Версия стабильна и готова для продакшена.
- Меньше задержек, меньше overhead, лучше работа с async-кодом и большими данными.

Подробнее: https://docs.python.org/3.15/whatsnew/3.15.html

#Python #Update #Performance #Developers

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
🔥 10 Python-библиотек, которые должен знать каждый разработчик LLM и GenAI

1️⃣ [LangChain](https://www.langchain.com/)
Фреймворк для создания LLM-приложений, агентов и инструментов.
Позволяет соединять языковые модели с базами данных, API и внешними сервисами.
Идеален для построения RAG-систем, чат-ботов и аналитических ассистентов.

2️⃣ [LangGraph](https://github.com/langchain-ai/langgraph)
Надстройка над LangChain для создания сложных многоагентных систем.
Поддерживает условную логику, ветвления и сохранение состояния.
Используется для разработки автономных агентов, которые сотрудничают и планируют задачи.

3️⃣ [Docling](https://github.com/DS4SD/docling)
Инструмент для анализа и извлечения информации из документов.
Объединяет LLM, LangChain и RAG-подход для “умного” чтения PDF, таблиц и сканов.
Подходит для систем документооборота, юридических и научных данных.

4️⃣ [OpenAI Python SDK](https://github.com/openai/openai-python)
Официальная библиотека для работы с моделями GPT-4o, DALL-E, Whisper и другими API OpenAI.
Позволяет вызывать модели, генерировать текст, изображения и транскрибировать аудио в несколько строк кода.
Главный инструмент для интеграции мощных моделей в свои Python-приложения.

5️⃣ [Markitdown (Microsoft)](https://github.com/microsoft/markitdown)
Библиотека от Microsoft для создания интерфейсов LLM-приложений с использованием Markdown.
Позволяет описывать UI и рабочие процессы прямо в тексте — быстро, удобно и без JavaScript.
Полезна для автоматизации LLM-воркфлоу и простых чат-интерфейсов.

6️⃣ [Streamlit](https://streamlit.io/)
Фреймворк для построения интерактивных AI-дашбордов и веб-приложений.
Позволяет визуализировать результаты модели, строить формы ввода, графики и интерактивные элементы.
Отличный выбор для быстрой демонстрации или внутреннего прототипа GenAI-проекта.

7️⃣ [FastAPI](https://fastapi.tiangolo.com/)
Высокопроизводительный фреймворк для создания REST и WebSocket API.
Идеален для деплоя ML и LLM моделей в продакшене.
Быстрый, типизированный и легко масштабируемый — стандарт де-факто в AI-бэкендах.

8️⃣ [Faiss](https://github.com/facebookresearch/faiss)
Библиотека для векторного поиска и кластеризации эмбеддингов.

Молниеносно ищет похожие тексты, изображения или документы в огромных наборах данных.
Необходима в RAG-системах, рекомендациях и семантическом поиске.

9️⃣ [SentenceTransformers](https://www.sbert.net/)
Набор моделей для генерации эмбеддингов предложений, текстов и документов.
Даёт качественные векторные представления для поиска, кластеризации и анализа смысловой близости.
Отлично работает вместе с Faiss и LangChain.

🔟 [MLflow](https://mlflow.org/)
Инструмент для трекинга экспериментов, управления моделями и деплоя ML-проектов.
Позволяет отслеживать метрики, сравнивать версии и хранить модели в централизованном реестре.
Незаменим при построении воспроизводимого и управляемого MLOps-процесса.

⚙️ Эти библиотеки формируют единый стек для создания LLM-агентов, RAG-систем, аналитических ассистентов и AI-сервисов — от эксперимента до продакшена.

@pythonl
Forwarded from Python/ django
✔️ CPython может получить обязательную зависимость от Rust к версии Python 3.17.

Эмма Смит и Кирилл Подопригора из core-team Python опубликовали предварительное предложение (Pre-PEP), в котором описывается план постепенного внедрения Rust в кодовую базу CPython.
На первом этапе Rust хотят использовать для необязательных модулей стандартной библиотеки, находящихся в каталоге Modules/.

Дальше — больше: если эксперимент окажется успешным, то к выходу Python 3.17 Rust может стать обязательной сборочной зависимостью. Это позволит улучшить безопасность, производительность и надёжность низкоуровневых частей интерпретатора.

Подробнее: https://peps.python.org/pep-0011/

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
🖥 Bash Академия: секреты командной строки, которые нигде не рассказывают

Олег Шелест - профессионал по информационной безопасности, раскрывает скрытые механики Linux, с помощью наглядных картинок и коротких, максимально понятных разборов у себя в тг канале.

- Без воды.
- Без лишней теории.

Только практические приёмы, которые реально используют профи.

Если хочешь уверенно владеть Bash - здесь ты получишь всё, что нужно: t.me/bashmastter
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from DevOps Docker
🖥 Минимальный и безопасный Dockerfile для Python-приложения.

В основе - python:3.11-slim, установка только нужных пакетов, удаление apt-кэша, отдельный системный пользователь без root-прав, изоляция рабочего каталога и установка зависимостей под ненадёжным пользователем.

Такой контейнер легче, безопаснее и запускается быстрее.

Отличная база для продакшена.

Переход на non-root пользователя резко снижает возможный ущерб, ограничивает доступ к файлам и заставляет держать порядок с правами и владением.


Docker - все о Docker и Devops
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
Git Cheatsheet - коротко и по делу

Настройка
git config --global user.name "Name" — задать имя
git config --global user.email "email" — задать почту
git config --list — показать настройки

Старт
git init — создать репозиторий
git clone url — клонировать репо

Стейджинг и коммиты
git status — статус
git add . — добавить все изменения
git reset file — убрать из стейджа
git commit -m "msg" — коммит
git commit --amend — исправить последний коммит

Ветки
git branch — список
git branch name — создать
git checkout -b name — создать и перейти
git branch -d name — удалить

Merge и Rebase
git merge branch — слить ветку
git merge --abort — отменить
git rebase branch — перебазирование

История
git log --oneline — компактная история
git log --graph --all — граф
git diff — показать изменения

Откат
git restore file — вернуть файл
git reset --soft HEAD~1 — откатить коммит, сохранить изменения
git reset --hard HEAD~1 — откатить и удалить изменения
git clean -f — удалить лишние файлы

Удалённые репозитории
git remote -v — список
git push origin branch — запушить
git pull — получить изменения
git fetch — только забрать

Теги
git tag — список
git tag name — создать
git push origin --tags — отправить теги

Stash
git stash — сохранить изменения
git stash list — список
git stash apply — применить

Поиск и анализ
git blame file — кто менял строки
git grep "text" — поиск
git bisect — бинарный поиск бага

Продвинутое
git cherry-pick commit — взять коммит
git revert commit — отменить коммит через новый
git submodule add url — добавить сабмодуль

Полезно сохранить под рукой.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Python/ django
This media is not supported in your browser
VIEW IN TELEGRAM
🚀 PYTHON В DOCKER: УСКОРЯЕМ СБОРКУ!

Если ваш Python-приложение в Docker работает медленно при старте или «греет» CPU, проблема часто в том, что Docker пересобирает зависимости каждый раз.
Хитрый приём: замораживайте зависимости в отдельный слой и используйте .dockerignore, чтобы локальные файлы не ломали кеш.
Так Docker перестаёт пересобирать pip-пакеты и старт проекта ускоряется в разы.


для оптимизации Python-сборки
FROM python:3.12-slim

WORKDIR /app

Слой с зависимостями (кешируется!)

COPY requirements.txt .

RUN pip install --no-cache-dir -r requirements.txt

Теперь копируем код (не ломает кеш pip)

COPY . .

CMD ["python", "main.py"]
Forwarded from Python/ django
🖥 Django 6.0 вышел - крупное обновление фреймворка

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

Что нового и действительно важно:

Поддержка template partials из коробки
Теперь Django умеет частичные шаблоны на уровне фреймворка. Это упрощает структуру HTML, повышает переиспользуемость и делает шаблоны чище и понятнее без лишних include-хаков.

Нативный фреймворк для фоновых задач
В Django появился встроенный механизм для background tasks. Для многих проектов это означает, что Celery или RQ больше не обязательны для базовых задач — отложенные и асинхронные операции можно реализовать стандартными средствами.

Встроенная система Content Security Policy (CSP)
Django 6.0 получил полноценную поддержку CSP. Это серьёзный шаг в сторону безопасности по умолчанию и защита от XSS и других атак без внешних middleware.

Современный email API с нормальной Unicode-поддержкой
Работа с email стала более предсказуемой и дружелюбной к Unicode, что особенно важно для международных проектов и сложных шаблонов писем.

Жизненный цикл версий
Django 5.2 больше не имеет mainstream-поддержки. Разработчикам рекомендуется переходить на 6.0, чтобы получать новые возможности, обновления безопасности и улучшения платформы.

Django продолжает двигаться в сторону «batteries included», но делает это аккуратно и прагматично. Django 6.0 снижает зависимость от внешних библиотек, усиливает безопасность и делает повседневную разработку заметно удобнее.

Это релиз, который стоит внимательно изучить и запланировать апгрейд.

https://www.djangoproject.com/weblog/2025/dec/03/django-60-released/

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM