50319
Всё самое интересное из мира Python Сотрудничество, реклама: @devmangx Работаем с @Spiral_Yuri РКН: https://clck.ru/3GMMF6
Братья! Google обновил Код-Вики.
Google фактически убрал одно из самых неприятных узких мест разработки — чтение чужого кода '
Новый Код-Вики автоматически подключается к любому репозиторию на ГитХабе и превращает его в постоянно актуальную, структурированную и интерактивную вики.
Три ключевые функции:
- автоматически сканирует репозиторий; документация обновляется в реальном времени при любых изменениях кода — больше не нужно переживать за устаревшие описания
- чат на базе Джемини работает по всей вики как по единой базе знаний, отвечает на вопросы и даёт ссылки с переходом прямо на конкретные строки кода
- автоматически строит архитектурные диаграммы, диаграммы классов и последовательностей; одним кликом можно перейти от объяснения к исходному коду
Новички быстрее входят в проект с первого дня, старые кодовые базы без сопровождения становятся понятными, и это работает как для больших, так и для маленьких репозиториев.
Google прямо говорит: «Чтение существующего кода — один из самых дорогих и проблемных этапов разработки».
Теперь этот этап фактически пытаются убрать как класс.
Публичные репозитории доступны для предварительного просмотра: http://codewiki.google
👉 @PythonPortal
Смотри топовые научные статьи по ИИ, машинному обучению, робототехнике, квантовой физике и другим направлениям на kurate.org.
Сотни препринтов с arXiv ежедневно ранжируются по научному импакту через парные сравнения, где судьями выступают модели — Claude, GPT и Gemini.
👉 @PythonPortal
Как с помощью Python и OpenCV считать лица на видео / фото
🟢Подключаемся к камере.
🟢Используем библиотеку dlib для обнаружения лиц.
🟢Рисуем рамки вокруг лиц и выводим их количество.
🟢Останавливаем программу по нажатию "q".
Пример кода тоже есть.
👉 @PythonPortal
Безумцы реализовали MicroGPT от Andrej Karpathy полностью на ПЛИС-логике.
Без графического процессора.
Без PyTorch.
Без циклов инференса на центральном процессоре.
Только трансформер, «зашитый» в железо, генерирующий 50 000+ токенов в секунду.
Модель небольшая, но идея не в этом: инференс не обязан существовать только в программной среде.
Целью было не сделать максимально большую модель.
Целью было представить весь путь инференса трансформера в виде, читаемом для железа: память, счётчики, состояния конечных автоматов, аккумуляторы, таблицы поиска и многотактные арифметические блоки.
Базовая схема использует фиксированную арифметику Q4.12 и веса, хранящиеся в ПЗУ.
Большая часть модели сводится к одной повторяющейся операции: матрично-векторному умножению. Поэтому был реализован переиспользуемый 16-канальный потоковый блок матрично-векторных вычислений и затем он временно мультиплексируется на Q/K/V, MLP и выходной слой языковой модели.
Самым интересным оказался механизм внимания.
В Python это одно аккуратное уравнение.
В RTL это превращается в расписание: генерация Q/K/V, проход по скалярным произведениям, отслеживание максимума, приближённое вычисление экспоненты, накопление, деление, смешивание V, затем обратная проекция.
https://github.com/Luthiraa/TALOS-V2
👉 @PythonPortal
Будь ленивым разработчиком 😴😴😴
Лучшие разработчики — не те, кто пишет больше всего кода. Это те, кто пишет минимум кода и при этом решает задачу быстрее, качественнее и надёжнее.
Это избыточный подход:
transposed = []
for i in range(len(matrix[0])):
row = []
for r in matrix:
row.append(r[i])
transposed.append(row)
transposed = list(zip(*matrix))
collections.defaultdict вместо ручных проверок
Используй f-строки Python и спецификаторы форматирования, чтобы быстро и на скорую руку собирать таблицы:
d = {'a':10, 'bcd': 2, 'e': 3456}
for key, value in d.items():
print(f'{key:.<5}{value:.>5}')a.......10
bcd......2
e.....3456
Нужно обнулить время (до полуночи) в серии datetime в Pandas — используется dt.normalize:
df['x'].dt.normalize()
00:00:00.
f-строки в Python:
* Перед строкой ставится f
* Возвращается обычная строка
* Выражения в {} вычисляются и подставляются
x = 5
y = 7
f'{x} + {y} = {x+y}' # 5 + 7 = 12
x = [1, 2]
y = [3, 4]
f'{x} + {y} = {x+y}' # [1, 2] + [3, 4] = [1, 2, 3, 4]
Не усложняй методы startswith и endswith.
Когда нужно проверить, начинается ли строка с одного из нескольких вариантов, не используй цикл — передай кортеж, и метод сам проверит совпадение с любым из значений в кортеже.
user_string = input()
starts = ('One', 'Two', 'Three')
# Переусложнённо
for s in starts:
if user_string.startswith(s):
# Сделать что-то и выйти
break
# Чистый вариант
if user_string.startswith(starts):
# Сделать что-то
Если видишь одну и ту же переменную по обе стороны and, обрати внимание на этот синтаксический сахар:
x, y, z = 20, 15, 3
# Традиционный способ с 'and'
if x > y and y > z:
...
# Питоничный способ — цепное сравнение
if x > y > z:
...
У вас больше не будет возможности попасть в ШАД в этом году.
Школа анализа данных от Яндекса — бесплатная двухлетняя программа по машинному обучению, Data Science, анализу данных и ИИ. Внутри — сильная база, практические задачи из индустрии, преподаватели из Яндекса и мощное комьюнити.
Поступить можно по двум трекам: классическому, где нужно пройти 3 этапа отбора, и альтернативному — для специалистов с опытом.
Учиться можно офлайн, гибридно или онлайн. Отбор сложный, но ваша карьера вас точно поблагодарит.
Анкету нужно подать до 3 мая включительно. По этой ссылке
ПРО-СОВЕТ
Используешь локальные большие языковые модели? Дай им веб-стек.
Моя конфигурация:
- SearXNG: поиск и отбор источников-кандидатов
- Firecrawl: извлечение и обход по известным адресам
- Camofox: резерв через браузер, когда джаваскрипт или интерактив мешают
Поиск → Извлечение → Взаимодействие
Попроси своего агента настроить это и подключить к локальным моделям
> увидишь, как они резко становятся полезнее
Пожалуйста 🐌
👉 @PythonPortal
Бывшие сотрудники Google опубликовали карту всех внутренних инструментов Google и их open-source аналогов.
15 200 звёзд. 1 100 форков. 99 контрибьюторов.
→ Borg = Kubernetes
→ Spanner = CockroachDB
→ Colossus = HDFS
→ Dremel = DuckDB / Presto
→ Chubby = Zookeeper
→ Stubby = gRPC
→ Zanzibar = SpiceDB
→ Blaze = Bazel
→ MapReduce = Spark
всё, чем инженеры Google пользуются каждый день.
у всего этого есть open-source аналоги.
ничто из этого не требует работы в Google.
https://github.com/jhuangtw/xg2xg
👉 @PythonPortal
Есть число с плавающей точкой в Python и нужно вывести его как процент — используй формат % в f-строке
x = .023
print(f'{x:.2%}') # 2.30%
x = .02375
print(f'{x:.2%}') # 2.38% -- округляется!
x = 1.02375
print(f'{x:.2%}') # 102.38%
Большой момент для Soniox: сегодня запускаем Soniox Text-to-Speech.
Это серьёзный шаг вперёд. Soniox начинали с распознавания речи. Теперь, имея и распознавание, и синтез, мы становимся голосовой платформой для любого языка.
Soniox TTS заточен под самые сложные части генерации речи:
- Речь уровня носителя на более чем 60 языках
- Генерация без галлюцинаций
- Корректное озвучивание буквенно-цифровых последовательностей: числа, идентификаторы, адреса
- Правильное произношение имён и иностранных слов
- Стриминг с ультранизкой задержкой для приложений в реальном времени
Ценообразование простое: $0.70 за час сгенерированной речи.
Ключевое здесь — общий вектор: разработчики и компании могут работать с одним провайдером для базового голосового стека — распознавание речи, синтез речи, мультиязычный голос, инфраструктура реального времени, региональные деплои и соответствие требованиям.
Это важный шаг в переходе от провайдера распознавания речи к полноценной голосовой платформе для всех языков.
Голос становится базовым интерфейсом для софта. Для глобального использования он должен быть быстрым, точным, устойчивым и доступным на любом языке. Этим мы и занимаемся в Soniox.
Подробнее в блоге
👉 @PythonPortal
Hugging Face буквально собрали у себя все ключевые «секреты».
Важно разобраться в оценке больших языковых моделей.
> Пока ты работаешь с языковыми моделями:
> обучаешь или дообучаешь свои модели,
> выбираешь модель под задачу,
> или пытаешься понять текущее состояние области,
почти неизбежно возникает вопрос:
как понять, что модель хорошая?
> Ответ — оценка качества. Она везде:
> лидерборды с рейтингами моделей,
> бенчмарки, которые якобы меряют рассуждения,
> знания, кодинг или математику,
> статьи с заявленными новыми лучшими результатами.
Но что такое оценка на самом деле?
И что она реально показывает?
Этот гайд помогает во всём разобраться.
О чём вообще оценка моделей
Базовые понятия больших языковых моделей для понимания оценки
Оценка через готовые бенчмарки
Создание своей системы оценки
Главная проблема оценки
Оценка свободного текста
Статистическая корректность оценки
Стоимость и эффективность оценки
Sentrux измеряет архитектуру кодовой базы в реальном времени.
Что делает:
→ Оценивает «здоровье» архитектуры (0–10000)
→ Отслеживает модульность, циклические зависимости, глубину, равномерность, избыточность
→ Работает за миллисекунды (Rust + tree-sitter, 52 языка)
→ Отдает фидбек, пока агенты пишут код
Как работает:
→ scan / rescan анализируют структуру
→ check_rules применяет ограничения
→ evolution отслеживает изменения во времени
→ Правила лежат в .sentrux/rules.toml (связность, слои, циклы)
Экспонируется как MCP-сервер:
→ Агенты получают живой структурный фидбек прямо в процессе сессии
Вместо:
code → review позже
Получаешь:
code → оценка → исправление (внутри цикла)
https://github.com/sentrux/sentrux
👉 @PythonPortal
Теперь можно искать по PDF на 500 страниц без чанкинга и без векторизации.
Андрей Карпати недавно озвучил идею:
что если база знаний работает как вики, а не как векторная база?
OpenKB — open-source CLI, построенный вокруг этой концепции.
Он компилирует сырые документы в структурированную связанную вики-систему с помощью LLM.
Знания накапливаются, а не пересобираются при каждом запросе.
В классическом RAG контекст каждый раз восстанавливается заново. Здесь модель опирается на уже построенную структуру.
Длинные PDF разбираются через PageIndex — древовидный индекс без векторов, который позволяет рассуждать по структуре документа.
Что получается на выходе:
> авто-суммаризация и страницы концептов
> кросс-ссылки между документами
> детект противоречий и пробелов
> режим наблюдения за изменениями
> markdown, совместимый с Obsidian
Поддерживаются PDF, Word, PowerPoint, Excel, HTML и изображения.
Таблицы и фигуры извлекаются нативно.
Один новый файл может автоматически обновить до 15 страниц в вики.
База знаний начинает сохранять то, что уже было выучено.
https://github.com/VectifyAI/OpenKB
👉 @PythonPortal
Нужно округлить даты/время в Pandas:
* dt.floor — вниз (к предыдущему интервалу)
* dt.ceil — вверх (к следующему интервалу)
* dt.round — к ближайшему интервалу
Пример:
s.dt.floor('3h') # предыдущий 3-часовой слот
s.dt.ceil('15m') # следующий 15-минутный слот
s.dt.round('1D') # ближайшие сутки
Хотите освоить анализ данных, но не знаете, с чего начать?
Центр непрерывного образования ФКН НИУ ВШЭ запускает онлайн-программу профессиональной переподготовки «Практический анализ данных» — полный цикл обучения от нуля до уровня практикующего аналитика.
Что вас ждет:
🟣Python для автоматизации и анализа данных: от первых строк кода до Pandas и визуализации
🟣SQL на продвинутом уровне: оконные функции, индексы, партиционирование, оптимизация запросов
🟣Прикладная статистика и A/B-тестирование: проверка гипотез, планирование экспериментов, работа с малыми выборками
🟣Основы машинного обучения: регрессия, классификация, кластеризация
🟣Дашборды в Tableau и Yandex DataLens
🟣Продуктовая аналитика: метрики, сегментация, приоритизация гипотез
🟣Хранилища данных: архитектура DWH, Hadoop, Spark, ETL, Airflow
Преподаватели — практикующие специалисты из Wildberries, Вкусно — и точка и других компаний. По окончании вы получите диплом о профессиональной переподготовке НИУ ВШЭ.
📁 Старт: 12 мая.
Подробнее о программе 📍
Твой ПК скоро станет по-настоящему «умным».
Aiden — это полноценная ИИ-операционная система, которая работает на 100% локально на Windows или Linux:
- 1500+ компонуемых навыков
- 89+ автономных инструментов
- Управляет мышью, клавиатурой, экраном и приложениями (по сути как JARVIS)
- 6-слойная память + граф знаний
- Рой сабагентов, работающих параллельно
- Голос + каналы (Discord, Telegram, WhatsApp…)
Всё офлайн через Ollama.
Без аккаунтов.
Без телеметрии.
Без отправки данных в облако.
Это не чат-бот — это ассистент, который живёт внутри твоей машины.
Будущее персонального ИИ уже здесь, и оно с открытым исходным кодом.
👉 @PythonPortal
Если тебе нужны 3+ вложенных цикла — остановись и отрефактори.
Глубокую вложенность лучше избегать: такой код сложнее читать и поддерживать.
Цель всегда одна — читаемость и поддерживаемость.
Если ловишь себя на глубокой вложенности, остановись и подумай, можно ли сделать это понятнее. Использование библиотеки часто будет лучшей альтернативой.
👉 @PythonPortal
Использую Claude Opus 4.7, чтобы отцентрировать div