Python Community
12.3K subscribers
1.36K photos
86 videos
15 files
872 links
Python Community RU - СНГ сообщество Python-разработчиков

Чат канала: @python_community_chat

Сотрудничество: @cyberJohnny и @Sergey_bzd

РКН реестр:
https://knd.gov.ru/license?id=67847dd98e552d6b54a511ed&registryType=bloggersPermission
Download Telegram
🌟 Model2Vec: разработка компактных и быстрых моделей на основе Sentence Transformer.

Model2Vec - это библиотека, позволяющая создавать компактные и быстрые модели на основе предобученных моделей Sentence Transformer.

С помощью Model2Vec можно создавать эмбединг-модели для слов и предложений, которые значительно меньше по размеру, но при этом сопоставимы по производительности с исходными моделями Sentence Transformer.

Вот некоторые ключевые особенности:

🟢 Быстрая дистилляция, процесс создания модели занимает всего несколько минут.

🟢 Быстрый инференс, который в 500 раз быстрее на CPU по сравнению с оригинальной моделью.

🟢 Возможность использования любой модели Sentence Transformer с любым словарем (BYOM и BYOV).

🟢 Мультиязычность, требуется лишь мультиязычная модель в качестве источника.

🟢 Интеграция с Huggingface, поддержка загрузки и выгрузки моделей с использованием привычных методов from_pretrained и push_to_hub.

Пайплайн Model2Vec состоит из трех этапов. На первом этапе словарь проходит через модель Sentence Transformer для получения векторов эмбеддингов для каждого слова.

Затем размерность полученных эмбеддингов уменьшается с помощью метода главных компонент (PCA). В завершение применяется zipf-взвешивание для учета частоты слов в словаре.

Model2Vec работает в двух режимах:

🟠 Output, где модель функционирует как Sentence Transformer с использованием subword токенизации.

🟠 Vocab, где создается набор статических эмбеддингов слов, аналогично GloVe или Word2Vec.

Оценка производительности Model2Vec проводилась на наборе данных MTEB по задачам PEARL (оценка качества представления фраз) и WordSim (оценка семантической близости слов).

Результаты показывают, что Model2Vec превосходит GloVe и модели на основе WordLlama по всем задачам оценки.

▶️ Пример дистилляции:

from model2vec.distill import distill

# Выбор модели Sentence Transformer
model_name = "BAAI/bge-base-en-v1.5"

# Дистилляция модели
m2v_model = distill(model_name=model_name, pca_dims=256)

# Сохранение модели
m2v_model.save_pretrained("m2v_model")

▶️ Пример инференса:

from model2vec import StaticModel

# Загрузка модели из HuggingFace hub или локальной.
model_name = "minishlab/M2V_base_output"
# Можно передать токен, если загружаете приватную модель
model = StaticModel.from_pretrained(model_name, token=None)

# Создание эмбеддингов
embeddings = model.encode(["It's dangerous to go alone!", "It's a secret to everybody."])

📌 Лицензирование: MIT License.

Набор моделей (https://huggingface.co/minishlab)
GitHub (https://github.com/MinishLab/model2vec)

(https://t.iss.one/pythonl)

#AI #ML #LLM #Embedding #Model2Vec #python
@Python_Community_ru
🚀 Lemonade SDK — локальный сервер для LLM с максимальной производительностью

Что это?
Lemonade — это open-source проект (спонсируется AMD), который позволяет запускать большие языковые модели прямо у себя: на ПК, в браузере или на сервере. Всё работает локально, без облака, с поддержкой GPU и NPU, и при этом совместимо со стандартом OpenAI API.

Возможности
- Lemonade Server — локальный сервер, который имитирует OpenAI API. Поддерживает движки llama.cpp (GGUF), ONNX Runtime GenAI и HuggingFace Transformers. Работает с ускорением через Vulkan и ROCm.
- Lemonade CLI — консольный инструмент для запуска моделей, тестов производительности, проверки памяти и точности.
- Python API — простой способ подключить LLM к своим скриптам и приложениям.

Интеграция и совместимость
- Полная поддержка OpenAI API (`/chat/completions`, /completions, /models, /load, /stats и др.).
- SDK доступен для Python, C++, Java, C#, Go, Node.js, Rust, PHP и других языков.

Почему это важно
- Всё работает локально → выше приватность и ниже затраты.
- Автоматическая оптимизация под ваше железо.
- Подходит для продакшн-нагрузок, edge-устройств и экспериментов.
- Удобные инструменты: сервер, CLI, Python API, web-панель.
- Проект активно развивается: свежие релизы выходят каждую неделю.

👉 Репозиторий: [github.com/lemonade-sdk/lemonade](https://github.com/lemonade-sdk/lemonade)

#LLM #AI #Lemonade #OpenSource #AMD



@Python_Community_ru
🗣️ RealtimeVoiceChat — живой голосовой чат с ИИ.

RealtimeVoiceChat (https://github.com/KoljaB/RealtimeVoiceChaT) — это open-source проект, который позволяет общаться с LLM в реальном времени голосом. Он объединяет распознавание речи, LLM и синтез речи в единую систему с минимальной задержкой — около 500 мс при локальной установке.

➡️ Как работает:

1. Запись речи в браузере
2. Передача аудио по WebSocket на сервер
3. Распознавание речи через RealtimeSTT (на базе Whisper)
4. Ответ от LLM (Ollama, OpenAI и др.)
5. Озвучка ответа через RealtimeTTS (Coqui XTTSv2, Kokoro и др.)
6. Обратная передача аудио в браузер
7. Поддержка прерываний и динамики через turndetect.py

Особенности:

- Задержка ~500 мс
- Поддержка разных LLM и TTS движков
- Быстрый запуск через Docker Compose
- Чистый веб-интерфейс на Vanilla JS + Web Audio API

✔️ Стек:

- Backend: Python + FastAPI
- Frontend: JS + WebSockets
- ML: transformers, torchaudio, Ollama, Whisper, TTS
- Контейнеризация: Docker

✔️ Требуется CUDA-совместимая видеокарта (для Whisper/TTS) и Docker.

🔥 Отличный проект для тех, кто хочет интегрировать голосовой интерфейс с LLM — например, для ассистентов, чат-ботов, презентаций или UX-экспериментов.

🔜 Репозиторий: https://github.com/KoljaB/RealtimeVoiceChat
🔜 Демо: https://www.youtube.com/watch?v=-1AD4gakCKw



#tts #llm #opensource

@Python_Community_ru
👍1
Новая работа MIT: LLM, который видит и меняет состояние Python

В MIT предложили подход, при котором языковая модель работает не только с текстом, а напрямую с живым состоянием Python-кода - переменными, объектами в памяти и текущей точкой выполнения.

Подход называется NIGHTJAR.

Главный результат
В экспериментах NIGHTJAR сократил объем кода в среднем на 39.6% без потери корректности.

В чем была проблема
Обычная LLM:
- читает текст
- генерирует текст
- не видит реальные данные программы

Поэтому типичный пайплайн выглядит так:
- данные сериализуются в текст
- отправляются модели
- ответ парсится
- программа вручную обновляется

Много glue-кода, много мест для ошибок.

Что меняет совместное состояние
Shared state полностью меняет модель взаимодействия:
- LLM может читать и писать переменные
- изменять объекты прямо в памяти
- останавливать и пропускать циклы
- работать с текущим состоянием выполнения

Модель не «рассуждает о коде», она с ним взаимодействует.

Как это реализовано
LLM не получает прямой доступ к памяти.
Она отправляет небольшие команды:
- прочитать переменную
- записать значение
- обновить объект
- выйти из цикла

Python-обработчик выполняет эти команды.
Такой контракт авторы называют natural function interface.

Результаты
На бенчмарке SPSBench с 25 программами:
- корректность осталась на уровне ручной интеграции или выше
- код стал заметно короче
- но время выполнения иногда росло до 4.3 раза

Причина проста - каждое обращение к состоянию может требовать отдельного вызова модели.

Почему это важно
- меньше шаблонного glue-кода
- проще писать сложную логику с участием LLM
- шаг к более тесной интеграции AI и runtime
- фундамент для новых агентных и интерактивных систем

Это не про ускорение.
Это про изменение архитектуры взаимодействия между программой и моделью.

📌 Статья: arxiv.org/abs/2512.14805


#AI #LLM #Python

@Python_Community_ru