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
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
🔍 Regex не прощает ошибок… но с Python мы найдем выход!

Когда в запросе опечатка (`"prro"` вместо "pro"`) — `re.search() ничего не найдёт.

🙅‍♂️ Regex: [] → *Ноль результатов*

diff​lib то что нам нужно!
С SequenceMatcher ты можешь находить похожие строки даже с опечатками.

📌 Пример:

from difflib import SequenceMatcher

def fuzzy_match(query, products, threshold=0.6):
matches = []
for product in products:
ratio = SequenceMatcher(None, query.lower(), product.lower()).ratio()
if ratio >= threshold:
matches.append((product, f"{ratio:.2f}"))
return matches


🧠 Результат:

[('iPhone 14 Pro Max', '0.88')]


📦 Используй difflib для user-friendly поиска и автодополнения. Особенно полезно для:
- Поиска товаров
- Обработки ввода пользователя
- Систем рекомендаций

🔥 Идеально, когда нельзя потерять результат из-за одной буквы!

@pythonl
👍177🔥6😁2
This media is not supported in your browser
VIEW IN TELEGRAM
Ведущие ML- и DS-инженеры соберутся 13 и 14 сентября на E-CODE.
Это масштабное IT-событие создано командой Ozon Tech. Вы приглашены, но нужно зарегистрироваться: https://s.ozon.ru/m8XO9ot

Что будет:
6 контентных треков — один из них для ML/DS.
Выступления известных учёных.
Качественный нетворк — комьюнити middle+ специалистов.
Интеллектуальные интерактивы — и эксклюзивный мерч в подарок.
Вечеринки каждый день — на сцене НТР, Заточка, ILWT и Нейромонах Феофан.

E-CODE — комьюнити-пространство, в котором стоит быть 💙
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥4
🔥 Быстро превращай словарь в именованный кортеж (`namedtuple`) — красиво, удобно, читаемо


from collections import namedtuple

Parts = {
'id_num': '1234',
'desc': 'Ford Engine',
'cost': 1200.00,
'amount': 10
}

parts = namedtuple('Parts', Parts.keys())(**Parts)
print(parts)
# Parts(amount=10, cost=1200.0, id_num='1234', desc='Ford Engine')


💡 Зачем это нужно?

Получаешь доступ к полям как к атрибутам (parts.id_num)

Удобно для структурированных данных (например, из JSON или API)

Легко отлаживать и читать

📌 Полезный приём, если хочешь избавиться от лишнего dict['ключ'] — и сделать код чуть "чище".

@pythonl
11👍5🔥3😁2
Forwarded from Machinelearning
⚡️ GGUF-версии GPT-OSS от Unsloth.

Unsloth конвертировали обе GPT-OSS (20B и 120B) и исправили ошибки, чтобы повысить качество инференса.

🟡Оптимальный сетап:

🟢20B работает со скоростью более 10 токенов/с при полной точности на 14 ГБ оперативной памяти.

🟢120B с полной точностью будет давать >40 токенов/с на примерно 64 ГБ ОЗУ.

Минимальных требований для запуска моделей нет, запуститься можно даже если у вас всего 6 ГБ и только CPU, но инференс будет медленнее.

GPU не требуется , особенно для модели 20B, но его наличие значительно увеличивает скорость вывода (~80 токенов/с). С чем-то вроде H100 можно получить пропускную способность 140 токенов/с, и это значительно быстрее, чем у OpenAI в ChatGPT.

Модели можно запустить через llama.cpp, LM Studio или Open WebUI. Если модель 120B слишком медленная, попробуйте версию 20B - она очень быстрая и работает не хуже o3-mini.

Помимо моделей формата GGUF c полной точностью, Unsloth сделали версии с 4-bit и 16-bit точностью. 4-бинтый квант, кстати, можно файнтюнить на 24 ГБ VRAM.

📌 Подробная пошаговая инструкция по локальному запуску и файнтюну - в документации Unsloth.


🟡Набор моделей
🟡Документация


@ai_machinelearning_big_data

#AI #ML #GPTOSS #GGUF #Unsloth
Please open Telegram to view this post
VIEW IN TELEGRAM
7👍7🔥4
Media is too big
VIEW IN TELEGRAM
Какие планы на 16 августа?

Освобождайте календарь, в этот день ИТ-пикник — фестиваль для опытных ИТ-специалистов. Будет лекторий «Наука руками инженеров»‎ – обсудят как рождаются технологии: через эксперименты, гипотезы, научный подход и рискованные идеи.

Иван Оселедец, профессор РАН, выступит с темой об эволюции мультимодальных и мультиагентных систем, а Александр Петюшко, профессор университета США, расскажет, как устроено автономное вождение. Кроме лекций, интерактивов и нетворкинга для вас выступят артисты. На фестивале Диана Арбенина впервые вживую презентует трибьют-альбом. PLC, Tritia, Лилу, Тося Чайкина и ПОЛ ПУНШ исполнят ее известные треки.

Будут еще другие известные музыканты и секретный артист. Рекомендуем размяться, чтобы петь и танцевать от души.

Приходите с семьей и друзьями. Подробности и билеты — на сайте ИТ-пикника.
4👍1🔥1