🔍 Regex не прощает ошибок… но с Python мы найдем выход!
Когда в запросе опечатка (`"prro"` вместо "pro"`) — `re.search() ничего не найдёт.
🙅♂️ Regex: [] → *Ноль результатов*
✅ difflib то что нам нужно!
С 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 поиска и автодополнения. Особенно полезно для:
- Поиска товаров
- Обработки ввода пользователя
- Систем рекомендаций
🔥 Идеально, когда нельзя потерять результат из-за одной буквы!
@Python_Community_ru
Когда в запросе опечатка (`"prro"` вместо "pro"`) — `re.search() ничего не найдёт.
🙅♂️ Regex: [] → *Ноль результатов*
✅ difflib то что нам нужно!
С 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 поиска и автодополнения. Особенно полезно для:
- Поиска товаров
- Обработки ввода пользователя
- Систем рекомендаций
🔥 Идеально, когда нельзя потерять результат из-за одной буквы!
@Python_Community_ru
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 — комьюнити-пространство, в котором стоит быть 💙
@Python_Community_ru
Это масштабное IT-событие создано командой Ozon Tech. Вы приглашены, но нужно зарегистрироваться: https://s.ozon.ru/m8XO9ot ⬅
Что будет:
6 контентных треков — один из них для ML/DS.
Выступления известных учёных.
Качественный нетворк — комьюнити middle+ специалистов.
Интеллектуальные интерактивы — и эксклюзивный мерч в подарок.
Вечеринки каждый день — на сцене НТР, Заточка, ILWT и Нейромонах Феофан.
E-CODE — комьюнити-пространство, в котором стоит быть 💙
@Python_Community_ru
⚡️ GGUF-версии GPT-OSS от Unsloth.
Unsloth конвертировали обе GPT-OSS (20B (https://huggingface.co/unsloth/gpt-oss-20b-GGUF) и 120B (https://huggingface.co/unsloth/gpt-oss-120b-GGUF)) и исправили ошибки, чтобы повысить качество инференса.
🟡Оптимальный сетап:
🟢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 сделали (https://huggingface.co/collections/unsloth/gpt-oss-6892433695ce0dee42f31681) версии с 4-bit и 16-bit точностью. 4-бинтый квант, кстати, можно файнтюнить на 24 ГБ VRAM.
📌 Подробная пошаговая инструкция по локальному запуску и файнтюну - в документации (https://docs.unsloth.ai/basics/gpt-oss-how-to-run-and-fine-tune) Unsloth.
🟡Набор моделей (https://huggingface.co/collections/unsloth/gpt-oss-6892433695ce0dee42f31681)
🟡Документация (https://docs.unsloth.ai/basics/gpt-oss-how-to-run-and-fine-tune)
@ai_machinelearning_big_data
#AI #ML #GPTOSS #GGUF #Unsloth
@Python_Community_ru
Unsloth конвертировали обе GPT-OSS (20B (https://huggingface.co/unsloth/gpt-oss-20b-GGUF) и 120B (https://huggingface.co/unsloth/gpt-oss-120b-GGUF)) и исправили ошибки, чтобы повысить качество инференса.
🟡Оптимальный сетап:
🟢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 сделали (https://huggingface.co/collections/unsloth/gpt-oss-6892433695ce0dee42f31681) версии с 4-bit и 16-bit точностью. 4-бинтый квант, кстати, можно файнтюнить на 24 ГБ VRAM.
📌 Подробная пошаговая инструкция по локальному запуску и файнтюну - в документации (https://docs.unsloth.ai/basics/gpt-oss-how-to-run-and-fine-tune) Unsloth.
🟡Набор моделей (https://huggingface.co/collections/unsloth/gpt-oss-6892433695ce0dee42f31681)
🟡Документация (https://docs.unsloth.ai/basics/gpt-oss-how-to-run-and-fine-tune)
@ai_machinelearning_big_data
#AI #ML #GPTOSS #GGUF #Unsloth
@Python_Community_ru
🐉 Windmill — open-source платформа для разработки внутренних инструментов, которая превращает скрипты в готовые API, фоновые задачи и веб-интерфейсы. Проект позиционируется как альтернатива коммерческим решениям вроде Retool или Superblocks, но с акцентом на гибкость и self-hosted развёртывание.
Интересно реализована идея автоматической генерации UI: достаточно написать скрипт на Python, TypeScript, Go или Bash и Windmill создаст для него веб-форму с параметрами. Готовые скрипты можно комбинировать в сложные workflows или встраивать в low-code приложения. Под капотом — Rust, Postgres и sandbox-исполнение через nsjail для безопасности.
🤖 GitHub (https://github.com/windmill-labs/windmill)
@Python_Community_ru
Интересно реализована идея автоматической генерации UI: достаточно написать скрипт на Python, TypeScript, Go или Bash и Windmill создаст для него веб-форму с параметрами. Готовые скрипты можно комбинировать в сложные workflows или встраивать в low-code приложения. Под капотом — Rust, Postgres и sandbox-исполнение через nsjail для безопасности.
🤖 GitHub (https://github.com/windmill-labs/windmill)
@Python_Community_ru
🛞 CrossHair — необычный инструмент для анализа Python-кода, который использует символьное выполнение для поиска ошибок. Вместо традиционных тестов он проверяет корректность функций, анализируя их поведение на основе аннотаций типов и контрактов.
Под капотом работает SMT-решатель, который ищет входные данные, нарушающие условия. Например, может автоматически обнаружить, что ваша функция падает на отрицательных числах, хотя в контракте указано x: PositiveInt. Интегрируется с Hypothesis и популярными IDE.
🤖 GitHub (https://github.com/pschanely/CrossHair)
@Python_Community_ru
Под капотом работает SMT-решатель, который ищет входные данные, нарушающие условия. Например, может автоматически обнаружить, что ваша функция падает на отрицательных числах, хотя в контракте указано x: PositiveInt. Интегрируется с Hypothesis и популярными IDE.
🤖 GitHub (https://github.com/pschanely/CrossHair)
@Python_Community_ru
⚠️ Внимание: фишинг-атака на разработчиков Python. Злоумышленники рассылают поддельные письма от имени PyPI с домена pypj.org, требуя "подтвердить email".
Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.
🔗 Ссылка - *клик* (https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/)
@Python_Community_ru
Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.
🔗 Ссылка - *клик* (https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/)
@Python_Community_ru