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
加入频道
Чтобы получить все уникальные пары элементов из списка, вовсе не обязательно писать громоздкие вложенные циклы. 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👍2🔥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👍2
⚡️ Ускорь проверку качества кода в 10 раз с помощью pre-commit!

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

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

😬 Без pre-commit:

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

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

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

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

@pythonl
9👍4🔥4