Библиотека на C++ с привязками для Python для быстрого поиска похожих объектов и кластеризации плотных векторов, с опциональным ускорением на GPU.
RyanCodrai/turbovec
Векторный индекс для Python и Rust, который сжимает эмбеддинги до 2 или 4 бит на измерение с помощью TurboQuant и ищет прямо по сжатым данным.
Open source альтернатива:FAISS
- Звёзды
- 17,411
- Форки
- 1,488
- Открытые issues
- 23
- Последний коммит
- 16 дней назад
Что это?
turbovec — библиотека векторных индексов для Python и Rust. Она хранит каждый эмбеддинг с точностью 2 или 4 бита на измерение, используя метод квантования TurboQuant, и выполняет поиск ближайших соседей по сжатым данным с помощью SIMD-оптимизированных ядер. Индекс остаётся в памяти процесса, поэтому отдельный сервис не нужен.
Проект рассчитан на задачи поиска, например RAG-пайплайны, где большие наборы эмбеддингов иначе пришлось бы хранить в формате float32. Векторы можно добавлять и удалять без повторного обучения; инкрементальное сохранение через вызов sync записывает только изменения. Также доступен вариант IdMapIndex, в котором используются пользовательские идентификаторы uint64. Поиск можно ограничить списком разрешённых ID. Есть готовые интеграции для LangChain, LlamaIndex, Haystack и Agno.
Вместо графового индекса используется полный перебор, поэтому стоимость запросов растёт линейно с размером корпуса. Квантование приводит к потере точности; в проекте приведены бенчмарки в сравнении с FAISS на эмбеддингах OpenAI и GloVe.
Ключевые возможности
- 01Хранит векторы с точностью 2 или 4 бита на измерение; при 4 битах они примерно в 7,8 раза меньше, чем в формате float32.
- 02Выполняет поиск по сжатым кодам с SIMD-оптимизацией; доступны API для Python и Rust.
- 03Добавляет и удаляет векторы без этапа обучения и перестроения индекса.
- 04Инкрементальный вызов sync() записывает только изменённые данные и сохраняет их атомарно.
- 05Поддерживает индексацию по ID и фильтрацию по списку разрешённых ID во время поиска.
Сценарии использования
- Создание локального RAG-ретривера, который хранит эмбеддинги в памяти процесса.
- Поиск по большим коллекциям эмбеддингов на машине с ограниченным объёмом RAM.
- Добавление векторного хранилища в приложение на LangChain или LlamaIndex без отдельной базы данных.
- Офлайн-поиск или семантический поиск с повышенными требованиями к конфиденциальности, когда данные не должны покидать процесс.
Быстрый старт
- 1
Установите пакет Python из PyPI
pip install turbovec - 2
Создайте векторы и проиндексируйте их с помощью TurboQuantIndex (см. пример в README)
Что важно знать
- Сканируются все векторы, поэтому решение не подходит для очень больших корпусов с жесткими требованиями к задержке.
- Квантование приводит к потере точности, поэтому результаты являются приближенными, а не точными результатами с плавающей точкой.
Темы
Частые вопросы
- Что такое turbovec?
- Векторный индекс для Python и Rust, который сжимает эмбеддинги до 2 или 4 бит на измерение с помощью TurboQuant и ищет прямо по сжатым данным. turbovec — библиотека векторных индексов для Python и Rust. Она хранит каждый эмбеддинг с точностью 2 или 4 бита на измерение, используя метод квантования TurboQuant, и выполняет поиск ближайших соседей по сжатым данным с помощью SIMD-оптимизированных ядер. Индекс остаётся в памяти процесса, поэтому отдельный сервис не нужен.
- turbovec можно использовать бесплатно? Какая у него лицензия?
- turbovec распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- turbovec всё ещё поддерживается?
- Активно поддерживается. Последний коммит в turbovec — 7 окт. 2026 г..
- Для чего можно использовать turbovec?
- Создание локального RAG-ретривера, который хранит эмбеддинги в памяти процесса. Поиск по большим коллекциям эмбеддингов на машине с ограниченным объёмом RAM. Добавление векторного хранилища в приложение на LangChain или LlamaIndex без отдельной базы данных. Офлайн-поиск или семантический поиск с повышенными требованиями к конфиденциальности, когда данные не должны покидать процесс.
- Как установить turbovec?
- Установите пакет Python из PyPI: pip install turbovec Создайте векторы и проиндексируйте их с помощью TurboQuantIndex (см. пример в README)
- Где скачать turbovec?
- Исходный код и инструкции по установке — на GitHub: https://github.com/RyanCodrai/turbovec
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Локальный векторный индекс и инструментарий для RAG: пересчитывает эмбеддинги по запросу и сокращает объём хранения примерно на 97%, позволяя искать личные данные на ноутбуке.
Open-source-пайплайн, который превращает веб-страницы и PDF в скриншоты и ищет по ним визуально, сохраняя таблицы и графики для RAG.
Бесплатный открытый 10-недельный онлайн-курс по созданию приложений на базе LLM с RAG, векторным поиском, агентами, оценкой качества и мониторингом.
Официальная Python-библиотека клиента для векторного поискового движка Qdrant: синхронный и асинхронный доступ по REST/gRPC и локальный режим в памяти.
Образовательный проект с пошаговой реализацией Retrieval-Augmented Generation на JavaScript с нуля, на локальных LLM и без облачных API.