Регулярно требуется преобразовать какой-либо текст в максимально совместимый текст для URL, имени файла, имени объекта в каком-то софте и тд. Требования совместимости простые: в тексте должны быть только допустимые символы. Обычно это a-z, 0-9 и "_" или "-". То есть, только прописные буквы латинского алфавита и цифры (как пример).
Допустим, нам нужно название статьи в блоге преобразовать в slug для добавления его в URL этой статьи. Как это лучше всего сделать?
В Django по умолчанию есть готовая функция slugify для таких случаев.
Но я её никогда не использую. Почему? Потому что её недостаточно!
Приведём пример
>>> from django.utils.text import slugify
>>> slugify('This is a Title')
'this-is-a-title'
Пока всё отлично
>>> slugify('This is a "Title!"')
'this-is-a-title'
Спец символы удалились, всё хорошо.
>>> slugify('Это заголовок статьи')
''
Вот и приехали 😢. Если текст не английский то буквы просто игнорируются. Можно это поправить
>>> slugify('Это заголовок статьи', allow_unicode=True)
'это-заголовок-статьи'
Но тогда мы не вписываемся в условие. У нас появилась кириллица в тексте.
Так как я часто пишу сайты для русскоязычных пользователей эта проблема весьма актуальна. Я не использую стандартную функцию и всегда пишу свою.
Оригинал я не беру в расчёт и пишу полностью свою функцию. И так, по порядку:
🔸1. Исходный текст:
>>> text = 'Мой заголовок №10 😁!'
Взял специально посложней со специальными символами.
🔸2. Транслит
Необходимо сделать транслит всех символов в латиницу. Здесь очень выручает библиотека unidecode. Помимо простого транслита кириллицы в латиницу она умеет преобразовывать спец символы и иероглифы в текстовые аналоги.
from unidecode import unidecode
>>> unidecode("Ñ Σ ® µ ¶ ¼ 月 山")
'N S (r) u P 1/4 Yue Shan'
Очень крутая библиотека, советую👍
В нашем случае получаем такое преобразование:
>>> text = unidecode(text)
>>> print(text)
'Moi zagolovok No. 10 !'
Отличный транслит. Смайл просто удалился, хотя я ждал что-то вроде :). Ну и ладно, всë равно невалидные символы.
А еще наш код уже поддерживает любой язык, будь то хинди или корейский.
🔸4. Фильтр символов
Unidecode не занимается фильтрацией по недопустимым символам. Это мы делаем в следующем шаге через regex. Просто заменим все символы на "_" если они вне указанного диапазона.
>>> text = re.sub(r'[^a-zA-Z0-9]+', '_', text)
>>> print(text)
'Moi_zagolovok_No_10_'
Символ "+" в паттерне выручает когда несколько недопустимых символов идут рядом. Все они заменяются на один символ "_".
🔸5. Slugify
Осталось удалить лишние символы по краям и сделать нижний регистр
>>> text = text.strip('_').lower()
>>> print(text)
'moi_zagolovok_no_10'
Получаем отличный slug! 😎
🌎 Полный код в виде функции.
______________
PS. Проверку что в строке остался хоть один допустимый символ я бы вынес в отдельную функцию.
#libs#tricks#django
🚀Gemma 4 - новое семейство открытых моделей Google, которые можно запускать прямо на своём железе.
Модели заточены для сложного reasoning и агентных задач.
🔵Доступны в четырёх вариантах:
• 31B Dense и 26B MoE
Топовый уровень производительности для сложных локальных задач: кастомные код-ассистенты, анализ научных данных и не только.
• E4B и E2B (Edge)
Оптимизированы для мобильных устройств — работают в реальном времени с текстом, изображениями и аудио.
🤖Что можно делать:
• строить автономных ИИ-агентов
• планировать и выполнять многошаговые задачи
• взаимодействовать с приложениями
• искать данные и вызывать API
👉 Встроенная работа с инструментами (tool use) из коробки.
🧠Контекст до 256K токенов:
• анализ целых кодовых баз
• длинные цепочки действий без потери контекста
• стабильная работа в сложных сценариях
⚡️ Начать можно уже сейчас через Google AI Studio
Также веса моделей доступны на Hugging Face, Kaggle и Ollama.
Лицензия: Apache 2.0!
Blog: https://blog.google/innovation-and-ai/technology/developers-tools/gemma-4/
GGUFs: https://huggingface.co/collections/unsloth/gemma-4
Guide: https://unsloth.ai/docs/models/gemma-4
@ai_machinelearning_big_data
#Gemma
📛Google представила Gemma 3 270M — ультракомпактную LLM
Google выпустила Gemma 3 270M — одну из самых маленьких моделей в индустрии (270 млн параметров, а не миллиардов). Её можно запускать даже на слабых устройствах, а в INT4-квантизации на Pixel 9 Pro она расходует всего 0,75% батареи за 25 диалогов.
Несмотря на размер, модель показывает достойные результаты: на IF-Eval её показатель следования инструкциям — 51,2%, что выше, чем у Qwen 2.5 0.5B, который почти вдвое больше.
📂 Веса: https://huggingface.co/collections/google/gemma-3-release-67c6c6f89c4f76621268bb6d
📄 Блог Google: https://developers.googleblog.com/en/introducing-gemma-3-270m/
🤑ForgetMe | Boosty | ForgetBench | ForgetGPT | ForgetAPI
#новости#нейросети#gemma
Корпорация Google выпустила три новые модели генеративного искусственного интеллекта c открытым исходным кодом, позиционируя их как более «безопасные, компактные и прозрачные» по сравнению с другими.
▫️ Gemma 2 2B — версия модели с 2 млрд параметров, отличается улучшениями в области безопасности, предлагает «баланс производительности и эффективности»;
▫️ ShieldGemma — созданный на основе Gemma 2 комплект нейросетей для классификации безопасного контента;
▫️ Gemma Scope — новый инструмент для интерпретации моделей, который позволяет получить представление об их внутреннем устройстве.
#Google#Gemma
✴️Google выпустила MTP-drafters для Gemma 4 — ускорение до 3x без потери качества
Google представила Multi-Token Prediction drafters для семейства Gemma 4. Это небольшие вспомогательные модели для speculative decoding, которые заранее предлагают несколько следующих токенов, а основная модель затем проверяет их за один проход. По заявлению Google, такой подход дает ускорение инференса до 3 раз и при этом не ухудшает качество, точность и логику рассуждений.
Практически это значит, что Gemma 4 становится заметно быстрее в локальном запуске, агентных сценариях и on-device задачах. Google отдельно пишет про поддержку разных стеков и платформ: Transformers, MLX, vLLM, SGLang, Ollama, а сами MTP-drafters уже доступны под той же Apache 2.0 лицензией, что и Gemma 4, с загрузкой через Hugging Face и Kaggle.
Источник: блог Google | Документация | Hugging Face
🤑ForgetMe | Boosty
Приобрести подписку на любые сервисы
⏩@forgetshop_bot
#нейросети#llm#gemma
GPT-4 стоил $30 за миллион токенов.
Gemma 4 сейчас стоит — $0.14. Разница в 214 раз. Падение цен на интеллект на два с лишним порядка всего за два года.
Google выпустил Gemma 4 — open-source, 31 млрд параметров, 256K контекст. Бенчмарки в лоб с GPT-4o:
— MMLU: Gemma 4 92.4% vs GPT-4o 88.7%
— HumanEval (код): 94.1% vs 90.2%
— GSM8K (математика): 96.2% vs 95.0%
Два года назад GPT-4 был фронтиром за $30. Сейчас open-source бьёт его по бенчмаркам за $0.14. Падение в 214 раз — больше, чем закон Мура даёт за десятилетие. А можно развернуть локально — и не платить вообще. Обойдётся ещё раз в пять дешевле.
Но парадокс: цена за токен падает в сотни раз, а мой счёт за AI растёт. $200/мес подписки раньше хватало с избытком. Сейчас заканчивается быстрее чем за неделю, потому что через AI идёт всё — код, тексты, анализ, контент.
Инференс дешевеет быстро. Но аппетит к нему растёт быстрее.
tokencost.app/blog/gemma-4-pricing-benchmarks
#инференс#gemma
⚡ Google представила Gemma 3 270M — свою новую компактную модель
Модель 270 млн параметров (170M для эмбеддингов и 100M для трансформер-блоков), но с отличной способностью следовать промтпам прямо «из коробки».
🔹Особенности
- 256k токенов
- Энергоэффективность: INT4-версия на Pixel 9 Pro расходует всего 0.75% батареи за 25 диалогов.
- Доступны предобученные и instruction-tuned чекпойнты.
- Поддержка Quantization-Aware Training (QAT) для запуска в INT4 без заметной потери качества.
💼Когда использовать
- Массовые, чётко определённые задачи: анализ тональности, извлечение сущностей, обработка текста, комплаенс-проверки.
- Минимальные задержки и низкая стоимость инференса — можно запускать прямо на устройстве.
- Быстрые эксперименты с fine-tuning.
- Полная приватность данных благодаря on-device работе.
- Создание «флота» узкоспециализированных моделей.
В анонсе приводится пример, как Adaptive ML и SK Telecom дообучили Gemma 3 4B для мультиязычной модерации контента, превзойдя более крупные проприетарные модели.
Gemma 3 270M — отличная небольшая модель, быстрая и дешёвая в работе.
🟠Подробности: https://developers.googleblog.com/en/introducing-gemma-3-270m/
🟠HF: https://huggingface.co/collections/google/gemma-3-release-67c6c6f89c4f76621268bb6d
@ai_machinelearning_big_data
#news#ai#ml#Gemma#google
#Italia
Europarlamento, continua l'esodo a 5 stelle: #Rondinelli e #Gemma passano con Di Maio. Dei 14 eletti nel 2019, solamente in 5 sono attualmente nel #M5S.
@UltimoraPolitics