Python/ django
61K subscribers
2.18K photos
94 videos
48 files
2.9K links
по всем вопросам @haarrp

@itchannels_telegram - 🔥 все ит-каналы

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
Download Telegram
Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. Python предоставляет модуль itertools, который содержит готовые инструменты для таких задач.

Например, для списка features = ['price', 'size', 'rating'] можно написать так:


from itertools import combinations

pairs = list(combinations(features, 2))
print(pairs) # [('price', 'size'), ('price', 'rating'), ('size', 'rating')]


Функция combinations берёт на вход итерируемый объект и размер комбинации.

В нашем случае размер равен 2, поэтому мы получаем все возможные неупорядоченные пары без повторов.

Это решение не только короче, но и легче читается. Пользуйтесь библиотекой itertools, чтобы избавляться от рутины и писать более чистый код!

@pythonl
21👍5🤩3🔥2
🖥 Transfunctions — библиотека транзакционных функций на Python

Transfunctions — это инструмент для создания чистых, переиспользуемых и управляемых пайплайнов из функций. Подходит для задач, где нужно чётко контролировать каждый шаг выполнения.

Что такое транзакционные функции?

Это функции, которые:
• имеют чёткое начало и откат (rollback) — как в базах данных
• могут быть объединены в цепочки, где каждая часть знает, как отменить свои действия
• обрабатывают ошибки и контекст централизованно
• позволяют писать бизнес-логику без дублирования и хаоса

Что умеет Transfunctions:
• Объединение функций в контролируемые пайплайны
• Поддержка отката и логирования
• Контекстное выполнение (например, сессии, транзакции, данные)
• Минимум шаблонного кода

Подходит для ETL, финансовых операций, инфраструктурных обработчиков и сценариев с проверками и откатами.

pip install transfunctions

🔗 GitHub: https://github.com/pomponchik/transfunctions

#python #pipeline #transactions #opensource #architecture

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
9👍4🔥3😁1🤩1
Forwarded from Machinelearning
🌟 Google LangExtract: библиотека извлечения структуры из любого текста.

LangExtract - опенсорсная python-библиотека с функцией легковесного интерфейса к LLM, которая превращает большие объемы текста в структурированные данные.

🟡 Ключевая особенность LangExtract на фоне других инструментов - точный фокус на источник.

Каждая извлеченная сущность, будь то имя, дата или дозировка лекарства, привязывается к точным символьным смещениям в исходном тексте. Это дает полную прослеживаемость и верифицируемость результата, просто подсветив найденные данные в оригинальном документе. Больше никаких «откуда модель это взяла?».

🟡 Вторая сильная сторона - надежность выходных данных.

Вы определяете желаемый формат вывода с помощью специального представления данных и даете модели несколько примеров . Используя эти примеры, LangExtract следует заданной схеме, задействуя механизм контролируемой генерации, который поддерживается в моделях Gemini. Это гарантирует, что на выходе вы всегда будете получать данные в консистентном, предсказуемом формате.

🟡LangExtract умеет работать с действительно большими объемами.

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

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

При этом LangExtract не замыкается на экосистеме Google: он поддерживает гибкую смену LLM-бэкендов, позволяя работать как с облачными моделями, так и с опенсорсными решениями, развернутыми локально.

🟡LangExtract может задействовать "мировые знания" LLM для обогащения данных.

Информация может быть как явной (извлеченной из текста), так и основанной на внутренних знаниях модели. Разумеется, точность таких выведенных данных сильно зависит от возможностей конкретной LLM и качества предоставленных примеров в промпте.

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

Чтобы продемонстрировать возможности инструмента в узкоспециализированной области, Google создал на Hugging Face интерактивное демо RadExtract. В нем показано, как LangExtract может обработать радиологический отчет, написанный свободным текстом, и автоматически преобразовать его ключевые выводы в структурированный формат, подсвечивая важные находки.


📌Лицензирование: Apache 2.0 License.


🟡Статья
🖥Github


@ai_machinelearning_big_data

#AI #ML #LangExtract #Google
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👍3
⚡️ Ускорь проверку качества кода в 10 раз с помощью pre-commit!

В серьезных проектах чистота и стиль кода — но ручные проверки отнимают кучу времени, которое лучше потратить на анализ данных.

💡 Решение: автоматизируй всё с помощью pre-commit хуков — и пусть код проверяется сам перед каждым коммитом.

😬 Без pre-commit:

Вы коммитите код — всё выглядит нормально.
Но потом на ревью находят кучу мелочей:
✖️ Нет type hints
✖️ Форматирование пляшет
✖️ Отсутствует docstring
✖️ Импорты в разнобой

🤖 С pre-commit всё иначе:

Перед коммитом автоматически запускается ruff format и ruff check:
Код отформатирован
Стиль и правила соблюдены
Меньше замечаний на ревью

💡 Один раз настроил — и больше не паришься с форматированием вручную.
Идеально для любого Python-проекта.

@pythonl
15👍9🔥6
🚀 Kreuzberg — мощный фреймворк Document Intelligence для Python!

🔹 Извлекает текст, метаданные и структурированные данные из PDF, Office-документов, изображений и др.
🔹 Основан на проверенных open-source решениях: Pandoc, PDFium, Tesseract
🔹 Поддержка 18 форматов (PDF, DOCX, PPTX, HTML, изображения, таблицы и пр.)
🔹 Высокая производительность: 30+ документов/с, лёгкий runtime (≈360 МБ), установка 71 МБ
🔹 Открытый исходный код под MIT-лицензией, 2 000 на GitHub
GitHub

Пример:

from kreuzberg import extract_file

# In your async function
result = await extract_file("presentation.pptx")
print(result.content)

# Rich metadata extraction
print(f"Title: {result.iss.onetadata.title}")
print(f"Author: {result.iss.onetadata.author}")
print(f"Page count: {result.iss.onetadata.page_count}")
print(f"Created: {result.iss.onetadata.created_at}")


Попробуйте: https://github.com/Goldziher/kreuzberg

@pythonl

#Python #OCR #DocumentIntelligence #OpenSource #Kreuzberg
🔥135👍4
🖥Тебе не всегда стоит использовать классы в Python

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

Python — невероятно гибкий язык, но классы не всегда лучший выбор. В большинстве случаев стандартные типы, функции и библиотеки предлагают более простые и элегантные решения.

🔍 Когда вы можете обойтись без класса

1. Хранение простых данных
Вместо класса:


class Point:
def __init__(self, x, y):
self.x = x
self.y = y
point = Point(10, 20)



Point = namedtuple('Point', ['x', 'y'])
point = Point(10, 20)

# или

@dataclass
class Point:
x: int
y: int
point = Point(10, 20)


Статические утилиты без состояния
Вместо:


class Utils:
@staticmethod
def add(a, b): return a + b
result = Utils.add(3, 4)


используйте просто функцию:


def add(a, b): return a + b
result = add(3, 4)

Группировка констант
Вместо использования отдельного класса:


class Config:
HOST = 'localhost'
PORT = 8080

можно определить модуль с константами:


HOST = 'localhost'
PORT = 8080

Простые изменяемые состояния
Если нужен лишь список или словарь:


inventory = []
inventory.append('apple')

Операции на лету
Вместо класса с одним методом transform:



result = Transformer().transform([1,2,3])

используйте:


result = [x*2 for x in [1,2,3]]

Стандартная библиотека может уже всё заменить
Например, configparser, json, csv и другие модули часто покрывают функциональность управления конфигурациями без необходимости писать класс вручную.

Когда классы всё же уместны
Используйте классы, если вам действительно нужны:

- Состояние и поведение, связанные вместе
- Наследование и расширяемость
- Капсуляция логики и данных
- Чёткая структура и переиспользуемость

Но многие простые сценарии проще и понятнее реализовать без OOP-механизмов

💡 Почему это важно
Это помогает избежать избыточного кода и упростить архитектуру

Повышает читабельность, особенно для новичков или в небольших скриптах

Снижает перегрузку инициализации, особенно там, где функциональность тривиальна

📌 Подробнее

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
27🔥7👍6😢2
🎙️ Higgs Audio v2 — открытая аудио‑модель, которая обходит GPT‑4o-mini-tts

Boson AI выложили модель синтеза речи, обученную на 10+ млн часов аудио — и она уже показывает лучшие результаты, чем GPT‑4o-mini-tts и другие закрытые системы.

🧠 Что умеет Higgs Audio v2:
- Генерирует естественную, эмоциональную речь
- Поддерживает мультиспикерность и клонирование голосов без дообучения
- Работает в zero-shot: достаточно текст + один голосовой пример
- Озвучка в 24 kHz — звук заметно лучше, чем у многих систем с 16 kHz

📊 Побеждает GPT‑4o-mini-tts в бенчмарках:
- 75.7 % win rate на эмоциях
- 55.7 % win rate на вопросах
- Отличные метрики по точности и качеству речи

🛠️ Открыт код + модели:
- Новый AudioVerse токенизатор (эффективность + качество)
- Dual‑FFN архитектура
- Q-learning для адаптивной выразительности

git clone https://github.com/boson-ai/higgs-audio.git
cd higgs-audio

pip install -r requirements.txt
pip install -e .


🔥 GitHub: https://github.com/boson-ai/higgs-audio

@pythonl
👍105🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
🧱 ИИ теперь сам генерирует миры в духе Minecraft — представлена модель GameFactory

Исследователи обучили модель на 70 часах геймплея Minecraft и добились впечатляющего результата:
GameFactory может создавать процедурные игровые миры — от вулканов до сакуровых лесов, как в культовом симуляторе.

🔥 Хотите свой бесконечный мир — просто задайте параметры.

🟠 Примеры и код — по ссылке: https://yujiwen.github.io/gamefactory/

🟠Github: https://github.com/KwaiVGI/GameFactory

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥5👍4🤩2
🗂 Copyparty — «всё-в-одном» файловый сервер, запускаемый одной командой Python

Что это такое
- Один файл = полноценный NAS: HTTP/HTTPS, WebDAV, FTP, TFTP, Zeroconf
- Быстрые загрузки с возобновлением (resumable)
- Дедупликация, превью, миниатюры, медиабаза, поиск
- Без внешних зависимостей и БД — один .py-файл или standalone .exe/.apk
- Работает на Linux, Windows, macOS, Raspberry Pi

Для чего полезно :
- Создать домашний медиасервер и быстрый обмен файлами в локальной сети
- Раздача билдов/прошивок внутри команды без S3 и лишней админки
- LAN-party или мероприятия, где нужно «одно место» для обмена файлами

> 📝 Чтобы развернуть, достаточно запустить: python3 copyparty.py

20 k+ звёзд на GitHub, активная разработка, лицензия MIT — отличный инструмент!

🖥 Github

@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
15🔥6👍5
🚀 sebastien/multiplex — Command‑Line Process Multiplexer

Что это: простой CLI и Python API для запуска нескольких процессов параллельно, с гибким управлением зависимостями, задержками и завершением.

Фичи:
- Параллельный или последовательный запуск процессов
- Задержки: +2s, +500ms
- Зависимости: :A, :A&
- Именование процессов и цветной вывод
- Управление через Python API

🔧 Примеры:

- Запуск двух серверов:

multiplex "python -m http.server -p 8000" "python -m http.server -p 8001"


- Сначала сервер, потом бенчмарк:

multiplex "SERVER=python -m http.server" "+2s=ab -n1000 https://localhost:8000/"


- Сценарий: DB → API → тесты:

multiplex "DB=mongod" "API:DB&+2=node server.js" ":API&|end=npm test"


📦 Установка:
pip install multiplex-sh
или просто multiplex.py напрямую с GitHub

🔗 GitHub: https://github.com/sebastien/multiplex

🧰 Подходит всем, кто запускает несколько сервисов — API, БД, фоновые задачи — и хочет сделать это красиво.

@pythonl
11👍3🔥2😱1🤩1
🚀 С нуля → до портфолио и оффера в ИТ. Совершенно беслпатно!

«Школа 21» от Сбера — это бесплатная школа цифровых технологий. Здесь ты прокачаешься в ИТ с нуля, научишься работать в команде, получишь реальные навыки и опыт.
Без лекций и преподавателей. Только практика и нетворкинг.

📌 Что внутри:
— кампусы, которые работают 24/7 в Москве, Уфе, Казани, Новосибирске, Белгороде, Липецке, Нижнем Новгороде и других городах России.
— возможность совмещать с работой или учебой в вузе.
— сюда поступают независимо от образования: 50% участников пришли без опыта в ИТ.
— гарантированная стажировка в ИТ-компании.
— востребованные профессии: разработчик, devops/sre-инженер, data scientist, qa-инженер, специалист по кибербезопасности, бизнес- и системный аналитик.

🎯 Хочешь стать частью ИТ-комьюнити? Подавай заявку прямо сейчас: https://21-school.ru/

Реклама. Заказчик АНО «Школа 21» ИНН 7736316133
6🔥2👍1😱1
🛠️ Microsoft Research выложили в open-source новый инструмент — Debug-Gym.

Это песочница, где LLM‑агенты могут:
Ставить брейкпоинты
Чекать переменные
Перезаписывать файлы, пока тесты не позеленеют

Всё изолировано в Docker — безопасно при проведение тестов.

📊 Протестировано 9 моделей на 3 бенчмарках. В эксперименте модели решали 300 багов — с доступом к Debug-Gym и без.
Когда агентам дали дебаг‑инструменты, их точность выросла. Но даже лучшие решили <50% задач на SWE‑bench Lite.

Писать код ИИ уже умеет.
Дебажить — пока нет.
А это и есть самая трудная часть.

Microsoft уже работает над обучением моделей для поиска информации при отладке, как RAG — но для дебага.

🔗 Сам инструмент: https://microsoft.github.io/debug-gym/
🔗Статья: https://arxiv.org/abs/2503.21557

@pythonl

#microsoft #ai #ml
10👍4🔥3
Полезно для преподавателей алгоритмов

Т-Образование запускает бесплатный онлайн-курс «Алгоритмы и структуры данных». Пригодится тем, кто хочет сделать занятия в вузах еще интереснее.

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

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

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

Успейте подать заявку и пройти отбор до 16 августа
👍53🔥2