Библиотека Python для тематического моделирования: она объединяет эмбеддинги трансформеров и c-TF-IDF, чтобы выделять понятные темы в текстах.
TutteInstitute/evoc
Библиотека Python для быстрого CPU-кластеризации больших высокоразмерных embedding-векторов с API в стиле scikit-learn.
- Звёзды
- 356
- Форки
- 22
- Открытые issues
- 12
- Последний коммит
- 8 дней назад
Что это?
EVōC (Embedding Vector Oriented Clustering) — библиотека для кластеризации больших наборов высокоразмерных embedding-векторов, например CLIP-векторов или выходов моделей эмбеддингов sentence-transformers, OpenAI и Cohere. Она задумана как замена связке UMAP и HDBSCAN для этой задачи и нацелена на высокое качество кластеризации при меньшем числе гиперпараметров и значительно меньшем времени выполнения.
Библиотека следует API scikit-learn, поэтому её можно использовать везде, где применяются другие алгоритмы кластеризации из sklearn. Помимо единого набора меток, она формирует несколько уровней кластеров с разной степенью детализации, позволяет извлекать иерархию между уровнями и отмечает дубликаты и почти дубликаты векторов. Она также принимает квантованные векторы int8 и бинарные векторы напрямую.
EVōC можно установить из PyPI; библиотека зависит от numpy, scikit-learn, numba, tqdm и tbb. Проект находится на ранней стадии бета-тестирования, поэтому его интерфейсы могут измениться. Извлечение кластеров основано на методе PLSCAN, описанном в статье на arXiv за 2025 год.
Ключевые возможности
- 01Быстрая кластеризация embedding-векторов на CPU.
- 02Формирует несколько уровней кластеров — от мелких к крупным.
- 03Извлекает иерархию кластеров между уровнями.
- 04Обнаруживает дубликаты и почти дубликаты векторов.
- 05Напрямую работает с квантованными embedding-векторами int8 и бинарными векторами.
- 06Предоставляет совместимый со scikit-learn интерфейс fit_predict.
Сценарии использования
- Группировка CLIP-эмбеддингов или эмбеддингов предложений по темам в больших коллекциях текстов или изображений.
- Построение многоуровневых карт тем с переходом от общих тем к более детальным.
- Поиск дубликатов и почти дубликатов в корпусе эмбеддингов.
Быстрый старт
- 1
Установите EVōC из PyPI с помощью pip
pip install evoc - 2
Импортируйте EVōC и кластеризуйте векторы эмбеддингов с помощью fit_predict
import evoc clusterer = evoc.EVoC() cluster_labels = clusterer.fit_predict(data)
Что важно знать
- Библиотека находится на раннем этапе бета-тестирования, поэтому проблемы могут возникать, а функции — переставать работать.
- Алгоритм ещё не опубликован, поэтому в README просят вместо него цитировать статью о PLSCAN.
Темы
Частые вопросы
- Что такое evoc?
- Библиотека Python для быстрого CPU-кластеризации больших высокоразмерных embedding-векторов с API в стиле scikit-learn. EVōC (Embedding Vector Oriented Clustering) — библиотека для кластеризации больших наборов высокоразмерных embedding-векторов, например CLIP-векторов или выходов моделей эмбеддингов sentence-transformers, OpenAI и Cohere. Она задумана как замена связке UMAP и HDBSCAN для этой задачи и нацелена на высокое качество кластеризации при меньшем числе гиперпараметров и значительно меньшем времени выполнения.
- evoc можно использовать бесплатно? Какая у него лицензия?
- evoc распространяется с открытым исходным кодом под лицензией BSD-2-Clause. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- evoc всё ещё поддерживается?
- Активно поддерживается. Последний коммит в evoc — 29 окт. 2026 г..
- Для чего можно использовать evoc?
- Группировка CLIP-эмбеддингов или эмбеддингов предложений по темам в больших коллекциях текстов или изображений. Построение многоуровневых карт тем с переходом от общих тем к более детальным. Поиск дубликатов и почти дубликатов в корпусе эмбеддингов.
- Как установить evoc?
- Установите EVōC из PyPI с помощью pip: pip install evoc Импортируйте EVōC и кластеризуйте векторы эмбеддингов с помощью fit_predict: import evoc clusterer = evoc.EVoC() cluster_labels = clusterer.fit_predict(data)
- Где скачать evoc?
- Исходный код и инструкции по установке — на GitHub: https://github.com/TutteInstitute/evoc
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Orange — инструмент визуального программирования с открытым исходным кодом для интеллектуального анализа данных, аналитики и визуализации на основе рабочих процессов с перетаскиванием элементов.
Библиотека на C++ с привязками для Python для быстрого поиска похожих объектов и кластеризации плотных векторов, с опциональным ускорением на GPU.
Header-only библиотека C++ с ускорением на CUDA и Python-обёртками для переиспользуемых примитивов машинного обучения, линейной алгебры и информационного поиска на GPU NVIDIA.
Библиотека для Ruby, помогающая создавать приложения на базе LLM с единым интерфейсом к разным провайдерам, векторным базам данных, RAG-пайплайнам и ассистентам.
Кроссплатформенный ускоритель для запуска ML-моделей, экспортированных в формат ONNX, с поддержкой обучения с помощью PyTorch-скриптов.