Python Portal
53.4K subscribers
2.6K photos
426 videos
52 files
1.08K links
Всё самое интересное из мира Python

Связь: @devmangx

РКН: https://clck.ru/3GMMF6
Download Telegram
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]


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍194🤔1
Нужно округлить даты/время в Pandas:

* dt.floor — вниз (к предыдущему интервалу)
* dt.ceil — вверх (к следующему интервалу)
* dt.round — к ближайшему интервалу

Пример:

s.dt.floor('3h')   # предыдущий 3-часовой слот
s.dt.ceil('15m') # следующий 15-минутный слот
s.dt.round('1D') # ближайшие сутки


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥32
Нужно обнулить время (до полуночи) в серии datetime в Pandas — используется dt.normalize:

df['x'].dt.normalize()


На выходе та же серия datetime, но у всех значений время 00:00:00.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
Теперь можно искать по PDF на 500 страниц без чанкинга и без векторизации.

Андрей Карпати недавно озвучил идею:

что если база знаний работает как вики, а не как векторная база?

OpenKB — open-source CLI, построенный вокруг этой концепции.

Он компилирует сырые документы в структурированную связанную вики-систему с помощью LLM.

Знания накапливаются, а не пересобираются при каждом запросе.

В классическом RAG контекст каждый раз восстанавливается заново. Здесь модель опирается на уже построенную структуру.

Длинные PDF разбираются через PageIndex — древовидный индекс без векторов, который позволяет рассуждать по структуре документа.

Что получается на выходе:

> авто-суммаризация и страницы концептов
> кросс-ссылки между документами
> детект противоречий и пробелов
> режим наблюдения за изменениями
> markdown, совместимый с Obsidian

Поддерживаются PDF, Word, PowerPoint, Excel, HTML и изображения.

Таблицы и фигуры извлекаются нативно.

Один новый файл может автоматически обновить до 15 страниц в вики.

База знаний начинает сохранять то, что уже было выучено.

https://github.com/VectifyAI/OpenKB

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥126👍2🤔1🤝1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁446👍2
This media is not supported in your browser
VIEW IN TELEGRAM
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
Please open Telegram to view this post
VIEW IN TELEGRAM
8🤔6👍1
Используй 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


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
13👍6🔥2
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
😁10
Будь ленивым разработчиком 😴😴😴

Лучшие разработчики — не те, кто пишет больше всего кода. Это те, кто пишет минимум кода и при этом решает задачу быстрее, качественнее и надёжнее.

Это избыточный подход:

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 вместо ручных проверок
✔️ контекстные менеджеры вместо ручного открытия/закрытия ресурсов
✔️короткие выражения, которые проходят ревью

Цель — не демонстрировать объём проделанной работы, а доставлять чистые и поддерживаемые решения с минимальными затратами.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
24👍5🔥3
Hugging Face буквально собрали у себя все ключевые «секреты».

Важно разобраться в оценке больших языковых моделей.

> Пока ты работаешь с языковыми моделями:
> обучаешь или дообучаешь свои модели,
> выбираешь модель под задачу,
> или пытаешься понять текущее состояние области,

почти неизбежно возникает вопрос:
как понять, что модель хорошая?

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

Но что такое оценка на самом деле?
И что она реально показывает?

Этот гайд помогает во всём разобраться.

О чём вообще оценка моделей
Базовые понятия больших языковых моделей для понимания оценки
Оценка через готовые бенчмарки
Создание своей системы оценки
Главная проблема оценки
Оценка свободного текста
Статистическая корректность оценки
Стоимость и эффективность оценки


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
7
Please open Telegram to view this post
VIEW IN TELEGRAM
28😁12🔥4
Большой момент для Soniox: сегодня запускаем Soniox Text-to-Speech.

Это серьёзный шаг вперёд. Soniox начинали с распознавания речи. Теперь, имея и распознавание, и синтез, мы становимся голосовой платформой для любого языка.

Soniox TTS заточен под самые сложные части генерации речи:

- Речь уровня носителя на более чем 60 языках
- Генерация без галлюцинаций
- Корректное озвучивание буквенно-цифровых последовательностей: числа, идентификаторы, адреса
- Правильное произношение имён и иностранных слов
- Стриминг с ультранизкой задержкой для приложений в реальном времени

Ценообразование простое: $0.70 за час сгенерированной речи.

Ключевое здесь — общий вектор: разработчики и компании могут работать с одним провайдером для базового голосового стека — распознавание речи, синтез речи, мультиязычный голос, инфраструктура реального времени, региональные деплои и соответствие требованиям.

Это важный шаг в переходе от провайдера распознавания речи к полноценной голосовой платформе для всех языков.

Голос становится базовым интерфейсом для софта. Для глобального использования он должен быть быстрым, точным, устойчивым и доступным на любом языке. Этим мы и занимаемся в Soniox.

Подробнее в блоге

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
😁21
Безумцы реализовали 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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍102🔥2
Есть число с плавающей точкой в 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%


👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
👍86
Count number of Faces using Python – OpenCV.pdf
355.8 KB
Как с помощью Python и OpenCV считать лица на видео / фото

🟢Подключаемся к камере.
🟢Используем библиотеку dlib для обнаружения лиц.
🟢Рисуем рамки вокруг лиц и выводим их количество.
🟢Останавливаем программу по нажатию "q".

Пример кода тоже есть.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍4
Please open Telegram to view this post
VIEW IN TELEGRAM
😁383👍2
Смотри топовые научные статьи по ИИ, машинному обучению, робототехнике, квантовой физике и другим направлениям на kurate.org.

Сотни препринтов с arXiv ежедневно ранжируются по научному импакту через парные сравнения, где судьями выступают модели — Claude, GPT и Gemini.

👉 @PythonPortal
Please open Telegram to view this post
VIEW IN TELEGRAM