Python/ django
61.1K subscribers
2.16K photos
92 videos
48 files
2.88K links
по всем вопросам @haarrp

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

@ai_machinelearning_big_data -ML

@ArtificialIntelligencedl -AI

@datascienceiot - 📚

@pythonlbooks

РКН: clck.ru/3FmxmM
加入频道
🔥 WaterCrawl — продвинутая платформа для веб-краулинга и подготовки данных под LLM

Если нужно собрать и структурировать контент с сайтов для ИИ — это мощный инструмент.

🧠 В основе:
— Django + Scrapy + Celery
— Асинхронный краулинг, API и UI
— Скриншоты, PDF, JS-рендер, SSE

🚀 Возможности:
— Быстрый запуск через Docker (`docker compose up`)
— Интеграции с Dify, n8n, Langflow
— Пакетная отправка запросов через REST API
— SDK для Python, Go, Node, PHP

⚙️ Репозитории

@pythonl
8👍4🔥3
Новость для тех, кто хочет строить карьеру в computer science

Яндекс Образование вместе с Неймарком и ФКН ВШЭ организуют студкемп в Нижнем Новгороде на тему компьютерного зрения.

🔹 Интенсивная теория: лекции и семинары от Яндекса, Неймарка, ФКН ВШЭ, личное общение со специалистами
🔹 Практическая часть: командные проекты и работа над навыками создания и внедрения компьютерного зрения в автономные системы и робототехнику.

Участие в студкемпе бесплатно, но есть отбор. Победителям организаторы оплатят дорогу и проживание. Регистрация до 14 августа, по ссылке.
2😁1
🆕 В pyfonts — мощное обновление!

Теперь можно задать глобальный шрифт по умолчанию — и он применится ко всем текстам автоматически.
Больше не нужно вручную проставлять font в каждом элементе 🎯

Идеально для проектов с единой визуальной стилистикой — экономит кучу времени и кода.

🔥 Фичу реализовал John Gardner — спасибо!

Ждём фидбек, звёзды и предложения

📦 GitHub: http://github.com/JosephBARBIERDARNAL/pyfonts

@pythonl
1🔥32😢2
Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. 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
19👍4🔥2🤩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
5🔥3👍2🤩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
🔥84👍3
⚡️ Ускорь проверку качества кода в 10 раз с помощью pre-commit!

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

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

😬 Без pre-commit:

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

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

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

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

@pythonl
12👍7🔥5
🚀 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.metadata.title}")
print(f"Author: {result.metadata.author}")
print(f"Page count: {result.metadata.page_count}")
print(f"Created: {result.metadata.created_at}")


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

@pythonl

#Python #OCR #DocumentIntelligence #OpenSource #Kreuzberg
🔥84👍3