12637
Все для python разработчиков админ - @notxxx1 @python_job_interview - Python собеседования @ai_machinelearning_big_data - машинное обучение @itchannels_telegram - 🔥лучшие ит-каналы @programming_books_it - it книги @pythonl РКН: clck.ru/3Fmy2j
🗣 Голосовой AI-ассистент на Python (Streamlit, Whisper, ChatGPT, TTS)
Пишем готовий проект на Python.
Проект объединяет несколько компонентов:
- Распознавание речи: отправка аудио на OpenAI Whisper API (модель whisper-1) для транскрипции русской речиkdnuggets.com.
- Генерация ответа: отправка полученного текста в OpenAI ChatCompletion (модель gpt-3.5-turbo) для получения ответа в виде текстаgokhang1327.medium.com.
- Синтез речи (TTS): два варианта генерации звука из текста: платный сервис ElevenLabs (реалистичные голоса, поддержка русского) и открытая модель Silero TTS (бесплатная, поддерживает русский)github.comgithub.com.
- Интерфейс: веб-приложение на Streamlit с виджетом записи аудио (микрофон) и областью для отображения распознанного текста и ответа.
Ниже приведён подробный код приложения и инструкции по его запуску.
Читать: https://uproger.com/golosovoj-ai-assistent-na-python-streamlit-whisper-chatgpt-tts/
🔍 В Яндекс Поиске появились технологии Алисы: теперь он рассуждает в ответ на вопрос и генерирует контент
Поиск Яндекса обновился. Там появился режим рассуждений, возможность генерировать контент, получать развёрнутые ответы, и помогать с выбором товаров. Всё это — благодаря объединению с технологиями Алисы, которые унаследовали и расширили возможности Нейро.
Что поменялось:
— Новые ответы Алисы:готовая небольшая статья с картинками, видео и ссылками на источники.
— Можно попросить сгенерировать текст или картинку прямо в поисковой строке — например, по запросам “напиши” или “нарисуй”.
— Появился режим рассуждений: для сложных задач, где важно углубиться в тему. В этом режиме Алиса тратит больше времени на анализ информации, задействует больше источников и может дать ответ в виде таблицы. Пользователь может посмотреть, как она подходит к задаче и какие выводы делает.
— Пользователи Браузера теперь могут задавать Алисе вопросы не только в Поиске, но и по открытой веб-странице. Она проанализирует текст на сайте и даст ёмкий ответ со ссылками на конкретные фрагменты.
Эти большие обновления — результат работы сразу нескольких команд. Команда Яндекс Поиска создает LLM технологии в поиске, проектирует интерфейсы, создает инфраструктуру, позволяющую сервису работать бесперебойно 24/7.
Сейчас перед командой стоят новые амбициозные задачи, поэтому она расширяется и ищет:
→ Разработчика на C++ в YandexGPT;
→ Тимлида в Финансы.
Если интересно создавать продукт, которым ежедневно пользуются десятки миллионов людей, и развивать ИИ на мировом уровне — ищите вакансии выше.
Реклама. ООО "Яндекс". ИНН 7736207543
✔️ Cursor 1.0 — стабильный релиз с полезными фичами
Новая стабильная версия Cursor, и в ней появилось много обновлений, которые делают работу с кодом удобнее.
Вот что стоит отметить:
🐞 Bugbot
Автоматически проверяет Pull Request'ы на баги и предлагает исправления.
Можно внести правку прямо в редакторе — в один клик.
🧠 Memory (beta)
Cursor теперь запоминает контекст проекта, что помогает при командной работе и упрощает навигацию по коду.
⚙️ One-Click MCP Setup
Настройка подключения к Model Context Protocol — теперь через одну кнопку, без ручной конфигурации.
📌 Дополнительно в 1.0:
• Возможность редактировать несколько мест в коде одновременно
• Поддержка таблиц, Markdown и диаграмм Mermaid в чате
• Обновлённые настройки и админ-панель
• Фоновая работа агентов — можно интегрировать их со Slack и Jupyter Notebooks
Cursor постепенно становится более удобной средой для совместной работы с ИИ-помощником.
https://www.cursor.com/changelog
@ai_machinelearning_big_data
#CursorAI #AIcoding #DevTools #Jupyter #CodeAssistant
СРОЧНО❗️Закидываем мастхев-каналы для Python и Java разработчиков.
➡️Прокачай свои хард-скиллы на максимум:
Pythoner и Javer
➡️Сотни гигов платных материалов, книг и статей:
Книжный python и Библиотека Java
➡️Скрипты, фишки и конечно же мемы:
IT HUB и Memes
Доступ открыли на 48 часов, успейте подписаться! ⚡
🐳 Зачем и как контейнеризировать Python-приложения?
Контейнеризация — не просто модный DevOps-термин. Это способ упаковать твоё Python-приложение так, чтобы оно запускалось одинаково везде — локально, на сервере и в облаке.
🔥 Зачем это нужно:
▪ никакого "у меня работает, а у него — нет"
▪ изолированные зависимости и окружение
▪ быстрый деплой и масштабирование
▪ меньше багов при переносе между средами
📦 Простой Dockerfile для Python:
FROM python:3.10-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY . .
CMD ["python", "main.py"]
docker build -t my-python-app .
docker run -it my-python-app
Создавай технологии, которые меняют рынок 💻
На AIFT учат не просто ИИ. Здесь создают людей, которые меняют финтех.
Магистратура от Сбера, РЭШ и Сколтеха — это экономика, финансы, машинное обучение, цифровой банкинг и реальный опыт.
Что ты получишь ⤵️
— проектную работу со Сбером
— самых сильных экспертов рынка
— доступ к инфраструктуре и карьерным возможностям
— стипендию и сразу два диплома
Поступай, пока набор открыт: до сентября 2025 👌
🌟 HunyuanPortrait: код и веса.
Спустя чуть больше двух месяцев, Tencent опубликовала веса и код инференса проекта HunyuanPortrait - системы на основе диффузионных моделей для создания реалистичных анимированных портретов.
На вход подается видео, с которого движения переносятся на целевое изображение для "оживления". Режима "тext-to-motion", судя по всему - нет.
Под капотом - набор моделей на основе SVD, DiNOv2, Arc2Face и YoloFace.
Разработчики уверяют, что инференс заводится на 24 Гб VRAM и их метод лучше контролирует анимацию и делает более плавные переходы между кадрами, чем существующие аналоги.
⚠️ WebUI нет, адаптации под ComfyUI - пока тоже нет.
▶️Локальный инференс:
# Clone repo
git clone https://github.com/Tencent-Hunyuan/HunyuanPortrait
# Install requirements
pip3 install torch torchvision torchaudio
pip3 install -r requirements.txt
# Run
video_path="your_video.mp4"
image_path="your_image.png"
python inference.py \
--config config/hunyuan-portrait.yaml \
--video_path $video_path \
--image_path $image_path
🧠 AI-репетитор: диктовка на слух с проверкой — учим язык с ИИ
Хочешь прокачать английский или французский, как в старой доброй школе — диктантами на слух? Только теперь вместо учителя — нейросеть, которая читает тебе текст клонированным голосом, а потом проверяет, насколько правильно ты всё понял и набрал.
📚 Это идеальный способ:
• тренировать восприятие на слух
• учить грамматику, орфографию и пунктуацию
• делать всё без учителя, когда удобно
🧰 Что умеет скрипт
1. Генерирует аудио по заданному тексту (можно голосом носителя или твоим клонированным)
2. Диктует текст — ты вводишь, что услышал
3. Проверяет результат, выводит ошибки, % совпадения
4. Даёт подробный разбор отличий
🔧 Установка зависимостей
pip install TTS torchaudio gradio difflib
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts
import difflib
# Инициализация TTS
config = XttsConfig()
model = Xtts.init_from_config(config)
model.load_checkpoint("tts_models/multilingual/multi-dataset/xtts_v2")
# Текст диктанта
text = "Artificial intelligence is transforming education worldwide."
# Генерация речи
speaker_embedding = model.get_speaker_embedding("native_speaker.wav")
audio = model.tts(text, speaker_embedding=speaker_embedding)
model.save_wav(audio, "dictation.wav")
# Пользователь вводит услышанное
user_input = input("Введите, что вы услышали: ")
# Сравнение
diff = difflib.ndiff(text.split(), user_input.split())
print("\n📊 Сравнение:")
print("\n".join(diff))
# Расчёт точности
matcher = difflib.SequenceMatcher(None, text, user_input)
accuracy = matcher.ratio() * 100
print(f"\n✅ Точность: {accuracy:.2f}%")
🚀 AЭРОДИСК ищет Senior Python-разработчика — в команду, где решают инженерные задачи, а не просто пишут код!
Что будешь делать:
— Разработка ядра СХД: репликация, метрокластеры, отказоустойчивость;
— Глубокая работа с Linux, сетями и архитектурой ПО;
— Погружение в продукт — от идеи до запуска;
— Кросс-функциональное взаимодействие с архитекторами, QA, DevOps;
📌 Что важно:
— Уверенный Python (3+ лет), Linux на уровне профи;
— Понимание сетей, систем хранения, архитектурных подходов;
— Желание копать вглубь, брать ответственность и расти;
👨💻 У нас:
— Сильная команда инженеров, обучение, внутренние митапы;
— Работа в офисе рядом с м. Калужская, ДМС, спорт, обучение, внутренний больничный;
👉 Подробнее
Здесь ты реально прокачаешься — и будешь делать крутой продукт.
Реклама. ООО "АЕРО ДИСК". ИНН 7731475010. erid: 2W5zFGyucEc
🎮 Oh My ~God~ Git — необычная и полезная игра с открытым исходным кодом, которая помогает разобраться с GIT не через скучные туториалы, а с помощью наглядных карточек и геймплея.
🧠 В процессе ты:
• Поймёшь, как устроен GIT под капотом
• Научишься работать с ветками, коммитами, merge и rebase
• Запомнишь команды на практике, играя
📦 Игра доступна прямо в браузере: [ohmygit.org](https://ohmygit.org/)
💻 Или можно скачать и установить с GitHub: [github.com/git-learning-game/oh-my-git](https://github.com/git-learning-game/oh-my-git)
👾 Подходит как новичкам, так и тем, кто хочет освежить знания в игровой форме.
🗣 Мини-скрипт: говори по-русски своим клонированным голосом (Coqui TTS)
Вот минимальный Python-скрипт на базе модели xtts_v2 от Coqui, который позволяет ввести текст на русском языке и получить аудиофайл с твоим клонированным голосом.
📦 Перед запуском установи зависимости:
pip install TTS soundfile torchaudio
russian_voice_clone.py и запусти:
from TTS.tts.configs.xtts_config import XttsConfig
from TTS.tts.models.xtts import Xtts
# 📁 Путь к твоему голосовому файлу
voice_sample_path = "your_voice.wav"
# 📝 Ввод текста
text = input("Введите текст на русском: ")
# ⚙️ Загрузка модели
config = XttsConfig()
model = Xtts.init_from_config(config)
model.load_checkpoint("tts_models/multilingual/multi-dataset/xtts_v2")
# 🎤 Создание эмбеддинга
speaker_embedding = model.get_speaker_embedding(voice_sample_path)
# 🔊 Синтез речи
output_wav = model.tts(text, speaker_embedding=speaker_embedding)
# 💾 Сохранение
model.save_wav(output_wav, "output_russian.wav")
print("✅ Аудио сохранено как output_russian.wav")
your_voice.wav формата: .wav, 16 кГц, моно.
🐍 Python-задача с подвохом: “Список-призрак”
📘 Условие
Посмотри на этот код:
def append_item(item, lst=[]):
lst.append(item)
return lst
result1 = append_item(1)
result2 = append_item(2)
result3 = append_item(3)
print(result1)
print(result2)
print(result3)
[1]
[2]
[3]
[1]
[1, 2]
[1, 2, 3]
[3]
[3]
[3]
lst=[] — мутабельный объект, и он создаётся только один раз при определении функции, а не при каждом вызове.append_item модифицирует один и тот же список, который "помнит" все предыдущие элементы.
def append_item(item, lst=None):
if lst is None:
lst = []
lst.append(item)
return lst
dict, и с set, и с любыми объектами
🔧 telegram-member-adder-scrapper
▪ Автор: takitakir
▪ Репозиторий: telegram-member-adder-scrapper
Описание:
Этот проект представляет собой скрипт для Telegram, который сочетает две ключевые функции:
1️⃣ Сбор участников (scraper):
Извлекает список пользователей из открытых Telegram-групп.
Полученные данные можно сохранять для дальнейшего использования.
2️⃣ Добавление участников (adder):
Позволяет массово добавлять собранных пользователей в целевую группу Telegram.
Поддерживает добавление через несколько аккаунтов, что снижает риск блокировки.
Особенности:
▪ Автоматизация с помощью Telethon (Telegram API).
▪ Поддержка мультиаккаунтов для обхода лимитов Telegram.
▪ Простая конфигурация через config.data файл.
▪ Возможность фильтровать участников по различным критериям.
▪ Логирование процесса добавления и ошибок.
Применение:
💡 Проект используется для маркетинговых задач, прироста аудитории в Telegram-группах и быстрой миграции участников между чатами.
Важно:
🚫 Telegram строго запрещает массовое добавление пользователей без их согласия. Использование такого скрипта может привести к блокировке аккаунта или юридическим последствиям. Проект предоставлен только в образовательных целях.
👉 Github
🎯 GitHub Copilot — обновления в Visual Studio 17.14 Preview 3
🎯 1) Более глубокая интеграция Copilot Chat
● Теперь чат встроен прямо в редактор, можно задать вопрос по коду без открытия панели.
● Выделяешь фрагмент — пишешь “Explain this” — ответ в tooltip.
🎯 2) Поддержка многих языков
● С++, C#, JavaScript, Python — лучше понимает контекст многоязычных проектов.
● Корректнее читает namespace, dependency, partial classes.
🎯 3) Действия напрямую из чата
● Теперь можно нажать Insert/Replace прямо в чате, и код появится в файле.
● Можно отменить через Undo в VS.
🎯 4) Встроенная документация
● Спросишь “How to use HttpClient in C#?” — получишь код и объяснение без браузера.
🎯 5) Новый UI Copilot Chat
● Стал компактнее, добавили markdown , свертывание длинных блоков.
👀 GitHub Copilot в VS все ближе к роли интерактивного ассистента — а не просто генератора. Уже пробовали?
✔️ Релиз
🌟 Kimi-Audio: открытая модель для аудиозадач.
Kimi-Audio — инструктивная модель с 7 млрд. параметров, разработанная командой MoonshotAI, которая объединяет распознавание речи, анализ аудиоконтента и генерацию ответов в реальном времени в единую архитектуру. Модель показала SOTA-результаты на множестве аудиобенчмарков, от распознавания речи до эмоционального анализа.
Архитектура Kimi-Audio — это 3 компонента:
🟢Гибридный токенизатор, который преобразует аудио в дискретные семантические токены (12.5 Гц) через векторное квантование и дополняет их непрерывными акустическими признаками из Whisper.
🟢Модифицированная LLM (на базе Qwen 2.5 7B) с общими слоями для мультимодальных данных и раздельными «головами» для генерации текста и аудио.
🟢Детокенизатор на основе flow matching и BigVGAN. Он превращает токены обратно в звук с задержкой менее секунды благодаря чанковому потоковому декодированию и look-ahead механизму.
Отдельного внимания заслуживает пайплайн обучения, к нему команда разработки подошла ответственно и скрупулезно: 13 млн часов аудио были обработаны через автоматический конвейер, включающий шумоподавление, диаризацию и транскрипцию.
Для повышения качества сегменты объединялись по контексту, а транскрипции дополнялись пунктуацией на основе пауз. После предобучения на задачах ASR и TTS модель прошла этап SFT на 300 тыс. часов данных (развернутые диалоги и аудиочаты).
В тестах ASR Kimi-Audio показала: WER 1.28 на LibriSpeech test-clean против 2.37 у Qwen2.5-Omni. В аудиопонимании она лидирует на ClothoAQA (73.18) и MELD (59.13), а в классификации сцен (CochlScene) показывает 80.99 — на 17 пунктов выше ближайшего соперника. В диалогах модель близка к GPT-4o (3.90 против 4.06 по субъективной оценке).
📌 Лицензирование кода : Apache 2.0 License.
📌 Лицензирование модели: MIT License.
🟡Модель
🟡Техотчет
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #KimiAudio #MoonshotAI
🤖 AI, который сам пишет код — умный агент на базе LangGraph
Проект находится в активной разработке и уже умеет автоматизировать весь цикл: от планирования проекта до генерации кода. Всё построено на надёжных multi-agent workflow'ах с использованием LangGraph.
🚀 Что делает агент:
🧠 Понимает задачу и строит план
AI-архитектор анализирует требования и создаёт пошаговый план разработки.
💻 Генерирует и редактирует код
Dev-агент аккуратно применяет изменения в кодовой базе, редактируя конкретные файлы.
🔁 Разделяет роли — надёжнее работает
Отдельные агенты для планирования и реализации — меньше ошибок и больше контроля.
🧬 Понимает структуру проекта
Использует tree-sitter и семантический поиск, чтобы ориентироваться в коде как человек.
📦 Работает по шагам
Разбивает задачи на мелкие изменения — удобно для review и безопасно для CI.
💡 Если интересуешься автоматизацией разработки, AI-помощниками и мультиагентными системами — стоит попробовать уже сейчас.
▪ Github
@pythonl
#AI #AutoCoding #LangGraph #DevTools #MultiAgent #CodeAutomation
from contextlib import contextmanager
import sys
import io
@contextmanager
def capture_stdout():
old_stdout = sys.stdout
sys.stdout = buffer = io.StringIO()
try:
yield buffer
finally:
sys.stdout = old_stdout
# Пример использования
with capture_stdout() as out:
print("Это вывод, который перехвачен")
captured_output = out.getvalue()
print("Перехваченный текст:", captured_output)
🎯 5 ИИ-проектов, которые ты можешь собрать за выходные
Хочешь прокачать навыки ML и Python без математики и Kaggle? Лови 5 готовых идей, которые можно собрать за 1–2 дня:
🔹 Голосовой ассистент — Whisper + GPT + озвучка
🔹 Чат-бот для PDF — LangChain + FAISS + OpenAI
🔹 Генератор картинок — Stable Diffusion + Gradio
🔹 Подписи к фото — BLIP + HuggingFace
🔹 TL;DR бот — BART или GPT для суммаризации текста
✅ Примеры кода
✅ Деплой на HuggingFace / Streamlit
✅ Всё реально собрать за выходные
📎 Забирай гайд — и добавь проекты в резюме: «AI developer: checked»
@pythonl
📊 Шпаргалка по Python-профайлингу: как найти узкие места в коде
Разбираем 4 мощных инструмента для анализа производительности и памяти в Python.
🧠 `cProfile` — встроенный профайлер времени
✅ Показывает, сколько времени тратится на каждую функцию
✅ Идеально для быстрого анализа
python -m cProfile your_script.py
pstats:
python -m cProfile -o result.prof your_script.py
python -m pstats result.prof
%load_ext cprofile
%cprofile some_function()
py-spy — суперлёгкий sampling-профайлер
py-spy top --pid <PID>
py-spy record -o profile.svg -- python your_script.py
pip install scalene
scalene your_script.py
pip install memory-profiler
from memory_profiler import profile
@profile
def my_func():
...
python -m memory_profiler your_script.py
| Инструмент | Что профилирует | Подходит для |
|--------------------|----------------------|------------------------------|
| `cProfile` | Время (встроенно) | Быстрый старт, базовый анализ |
| `py-spy` | Время (sampling) | Прод, чужие процессы, flame graphs |
| `Scalene` | Время + память + аллокации | Глубокий анализ по строкам |
| `memory_profiler` | Только память | Data science, отладка RAM |
Читать полностью…
🖥 Руководство по ускорению и оптимизации Python-кода
В этом руководстве рассмотрены продвинутые техники оптимизации Python-программ, особенно актуальные для backend-разработки.
Здесь разобрано профилирование, выбор структур данных и алгоритмов, эффективное использование стандартной библиотеки, оптимизацию циклов, применение таких инструментов как Numba/Cython/PyPy, параллелизм и асинхронность, работу с вводом-выводом, кеширование, обработку больших данных, компиляцию/упаковку кода и общие советы по написанию быстрого и поддерживаемого кода.
🐳 Docker без боли: Огромный гайд от новичка до профи
🚀 Пришло время расставить всё по полочкам. В этом большом гайде ты узнаешь:
• как устроен Docker изнутри
• как упаковать любое приложение в контейнер
• как запускать десятки сервисов одной командой
• как дебажить, оптимизировать и защищать контейнеры
• как не сойти с ума с volumes, networks и образами
🎯 Без скучной теории — только практические команды, схемы и лайфхаки от тех, кто использует Docker в продакшене.
Сохраняй и делись с коллегами, чтобы не потерять
👉 Читать онлайн
@DevopsDocker
🐍 Хитрая задача на Python для опытных разработчиков
🔹 Уровень: Advanced
🔹 Темы: изменяемые объекты, ссылки, list multiplication, side effects
📌 Условие
Что выведет следующий код?
matrix = [[0] * 3] * 3
matrix[0][0] = 1
for row in matrix:
print(row)
[0][0]? [[0]*3]*3 и почему это опасно?
[1, 0, 0]
[1, 0, 0]
[1, 0, 0]
[[0] * 3] * 3 создаёт три ссылки на один и тот же вложенный список.matrix[0][0] = 1 меняет все строки, потому что они указывают на один и тот же объект в памяти.
matrix = [[0] * 3 for _ in range(3)]
matrix[0][0] = 1 затронет только первую строку:
[1, 0, 0]
[0, 0, 0]
[0, 0, 0]
🐍 Задача с подвохом для продвинутых Python-разработчиков
🔹 Уровень: Advanced
🔹 Темы: особенности defaultdict, побочные эффекты, mutability, ловушки с list и dict
📌 Условие
Рассмотрим следующий код:
from collections import defaultdict
def make_dict():
return {"count": 0}
d = defaultdict(make_dict)
d["a"]["count"] += 1
d["b"]["count"] += 1
d["a"]["count"] += 1
print(d)
make_dict() без функции-обёртки?
defaultdict(<function make_dict at 0x...>, {'a': {'count': 2}, 'b': {'count': 1}})
defaultdict вызывает make_dict() каждый раз, когда ключа нет в словаре."b"`) создаётся **новый** словарь `{"count": 0}.d["a"]["count"] += 1 увеличивает значение "count" у собственного словаря a.make_dict использовали один и тот же объект (например, через `lambda: some_dict`), то все ключи ссылались бы на один и тот же словарь — и значения начали бы "перетекать" между ключами:
shared = {"count": 0}
d = defaultdict(lambda: shared)
{'a': {'count': 2}, 'b': {'count': 2}} # неожиданно!
defaultdict.
# Правильно:
defaultdict(lambda: {"count": 0})
# Ошибочно:
defaultdict(lambda: some_shared_dict)
copy.deepcopy() или фабричные функции, если создаёшь вложенные структуры.
Читать полностью…
Python уже покорен? А как насчет Django?
Один из ведущих провайдеров IT-инфраструктуры Selectel подготовил бесплатный мини-курс по Django. Программа начинается с создания и настройки простых проектов: блога и канбан-доски, а завершается подключением автоматических бэкапов.
Всего за час вы научитесь:
1️⃣ Работать с бэкендом и API
2️⃣ Создавать веб-приложение по шаблону от Django
3️⃣ Настраивать Nginx и Gunicorn
4️⃣ Автоматизировать резервное копирование
Переходите в Академию Selectel, чтобы начать изучение прямо сейчас
Реклама. АО «Селектел», ИНН 7810962785, ERID: 2Vtzqx3SoDv
💡 Извлечение ключевых данных из документов
Подписи:
➡️ Document Content → Содержание документа
➡️ Define Context(Aspect) → Определите контекст (Аспект)
➡️ Select your LLM Model → Выберите модель LLM
➡️ Extract information → Извлеките информацию
⚡️ HunyuanCustom: консистентная видеогенерация c инпейнтом и липсинком.
Tencent выпустила HunyuanCustom, фреймворк, который не только генерирует видео по заданным условиям, но и умеет сохранять консистентность субъектов, будь то человек, животное или предмет. Модель справляется даже с мультисубъектными сценами: в демо-роликах люди естественно взаимодействуют с предметами, а текст на упаковках не плывет между кадрами.
В основе модели лежит улучшенный механизм слияния текста и изображений через LLaVA. Например, если вы загружаете фото женщины в платье и текст «танцует под дождем», система анализирует оба инпута, связывая описание с визуальными деталями.
Но главное - это модуль временной конкатенации: он «растягивает» особенности изображения вдоль временной оси видео, используя 3D-VAE. Это помогает избежать «прыгающих» лиц или внезапных изменений фона, проблемы, которая характерна даже для топовых моделей видеогенерации.
Tencent переработали и пайплайн аудио. Для синхронизации звука с движениями губ или действиями в кадре HunyuanCustom использует AudioNet, модуль, который выравнивает аудио- и видеофичи через пространственное кросс-внимание.
Фреймворк поддерживает возможность замены объекта в готовом ролике (скажем, подставить новую модель кроссовок в рекламу), модель сжимает исходное видео в латентное пространство, выравнивает его с шумными данными и встраивает изменения без артефактов на границах.
Экспериментальные тесты показали, что HunyuanCustom обходит конкурентов по ключевым метрикам. Например, Face-Sim (сохранение идентичности лица) у Tencent — 0.627 против 0.526 у Hailuo, а с Keling, Vidu, Pika и Skyreels разрыв еще больше.
⚠️ Для работы модель требует минимум 24 ГБ видеопамяти для роликов 720p, но чтобы раскрыть все возможности, разработчики рекомендуют 80 ГБ VRAM.
Код и чекпоинты уже доступны в открытом доступе, а в репозитории есть примеры запуска как на нескольких GPU, так и в экономном режиме для потребительских видеокарт.
📌Лицензирование кода : Tencent Hunyuan Community License.
🟡Страница проекта
🟡Модель
🟡Arxiv
🖥GitHub
@ai_machinelearning_big_data
#AI #ML #Video #HunyuanCustom #Tencent
# 🔐 Современные алгоритмы шифрования: обзор и примеры
Шифрование — основа информационной безопасности. От мессенджеров и банковских систем до VPN — всё держится на надёжных алгоритмах шифрования.
Сегодня используются десятки алгоритмов, но среди них выделяются несколько актуальных, проверенных и широко применяемых. Давайте разберём их понятным языком.
---
## 1️⃣ AES (Advanced Encryption Standard)
AES — стандарт симметричного блочного шифрования. Принят в 2001 году, заменил DES. Используется один ключ для шифрования и дешифрования.
- Блок данных: 128 бит
- Ключи: 128, 192 или 256 бит
- Количество раундов: 10, 12, 14
### 💡 Где используется?
- HTTPS
- VPN (OpenVPN, WireGuard)
- ZIP-архивы
- WhatsApp, Signal
### 🐍 Пример на Python (PyCryptodome):
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
from Crypto.Util.Padding import pad, unpad
key = get_random_bytes(16) # 128-битный ключ
cipher = AES.new(key, AES.MODE_CBC)
data = b"Secret message"
padded = pad(data, AES.block_size)
encrypted = cipher.encrypt(padded)
print("Encrypted:", encrypted)
# Для дешифрования нужен IV
iv = cipher.iv
cipher_dec = AES.new(key, AES.MODE_CBC, iv)
decrypted = unpad(cipher_dec.decrypt(encrypted), AES.block_size)
print("Decrypted:", decrypted.decode())
from cryptography.hazmat.primitives.asymmetric import rsa, padding
from cryptography.hazmat.primitives import hashes
# Генерация ключей
private_key = rsa.generate_private_key(public_exponent=65537, key_size=2048)
public_key = private_key.public_key()
message = b"Secret message"
# Шифрование
ciphertext = public_key.encrypt(
message,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)
print("Encrypted:", ciphertext)
# Дешифрование
plaintext = private_key.decrypt(
ciphertext,
padding.OAEP(mgf=padding.MGF1(algorithm=hashes.SHA256()), algorithm=hashes.SHA256(), label=None)
)
print("Decrypted:", plaintext.decode())
from cryptography.hazmat.primitives.ciphers.aead import ChaCha20Poly1305
import os
key = ChaCha20Poly1305.generate_key()
nonce = os.urandom(12)
chacha = ChaCha20Poly1305(key)
data = b"Secret message"
# Шифрование
encrypted = chacha.encrypt(nonce, data, None)
print("Encrypted:", encrypted)
# Дешифрование
decrypted = chacha.decrypt(nonce, encrypted, None)
print("Decrypted:", decrypted.decode())
🧠 RegExp: Как найти строки с IP-адресами в логах
Частая задача — выцепить IP-адреса из логов. Вот регулярка и однострочник, которые помогут:
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log
-Eo — включаем расширенные регулярки и выводим только совпадения([0-9]{1,3}\.){3}[0-9]{1,3} — шаблон для IPv4-адресов
grep -Eo '([0-9]{1,3}\.){3}[0-9]{1,3}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
🖥 Python на скорости Rust
Новый Function (fxn) — фреймворк, который компилирует Python-функции в нативный код с производительностью, сравнимой с Rust.
🧠 Как это работает?
- Использует символическое трассирование на CPython для анализа функций
- Генерирует промежуточное представление (IR)
- Транслирует IR в C++ или Rust, а затем компилирует в бинарный код
- Поддерживает платформы: Linux, Android, WebAssembly и др.
📦 Пример:
@compile
def fma(x: float, y: float, z: float) -> float:
return x * y + z
После компиляции вы получаете нативный бинарник, который можно запускать без интерпретатора Python.
🔗 Подробнее
🔗 Github
@pro_python_code
#Python #Rust #fxn #Compiler #Performance #AI #ML #Wasm