Встраиваемая в приложения векторная база данных с открытым исходным кодом для быстрого поиска по сходству без отдельного сервера.
unum-cloud/USearch
Однофайловая библиотека на C++ для приближённого поиска ближайших соседей и кластеризации векторов с биндингами для Python, JavaScript, Rust, Java, Go, Swift и других языков.
Open source альтернатива:Pinecone
- Звёзды
- 4,346
- Форки
- 360
- Открытые issues
- 110
- Последний коммит
- 3 дня назад
Что это?
USearch — движок для поиска похожих объектов и кластеризации на основе алгоритма графов HNSW. Он индексирует векторы и поддерживает пользовательские метрики расстояния, поэтому подходит для семантического поиска, поиска по молекулярным отпечаткам или геопространственных запросов с расстоянием по формуле гаверсинусов. Ядро состоит из одного заголовочного файла C++11; также доступны биндинги для C, Python, JavaScript, Java, Rust, Go, Swift, C#, Objective-C и Wolfram.
Индекс может хранить векторы в форматах пониженной точности, таких как bf16, f16, e5m2 и i8, а также в бинарном формате для метрик Tanimoto и Hamming. Индексы можно сохранять в файл, поток или буфер с отображением в память, а также обслуживать с диска, не загружая целиком в RAM. При поиске можно применять функции-предикаты во время обхода графа; для небольших коллекций доступен точный режим полного перебора.
В проект также входят кластеризация методом K ближайших соседей на основе существующего индекса и операция join для нечёткого сопоставления один-к-одному или многие-ко-многим. Несколько баз данных и инструментов, в том числе ClickHouse и DuckDB, указывают его как бэкенд векторного индекса.
Ключевые возможности
- 01Библиотека в одном заголовочном файле C++11 с небольшой кодовой базой
- 02Приближённый поиск ближайших соседей на основе HNSW
- 03Пользовательские метрики расстояния, включая JIT-компиляцию метрик на Python
- 04Хранение с пониженной точностью, например bf16, f16, e5m2 и i8
- 05Обслуживание индекса с диска или из файлов с отображением в память
- 06Фильтрация предикатами во время обхода графа
Сценарии использования
- Добавление семантического поиска по эмбеддингам в приложение или сервис
- Встраивание векторного индекса в мобильное или клиентское приложение на разных платформах
- Поиск похожих объектов по молекулярным отпечаткам или геопространственным координатам
- Обслуживание очень больших индексов с диска для снижения затрат на RAM
Темы
Частые вопросы
- Что такое USearch?
- Однофайловая библиотека на C++ для приближённого поиска ближайших соседей и кластеризации векторов с биндингами для Python, JavaScript, Rust, Java, Go, Swift и других языков. USearch — движок для поиска похожих объектов и кластеризации на основе алгоритма графов HNSW. Он индексирует векторы и поддерживает пользовательские метрики расстояния, поэтому подходит для семантического поиска, поиска по молекулярным отпечаткам или геопространственных запросов с расстоянием по формуле гаверсинусов. Ядро состоит из одного заголовочного файла C++11; также доступны биндинги для C, Python, JavaScript, Java, Rust, Go, Swift, C#, Objective-C и Wolfram.
- USearch можно использовать бесплатно? Какая у него лицензия?
- USearch распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- USearch всё ещё поддерживается?
- Активно поддерживается. Последний коммит в USearch — 18 окт. 2026 г..
- Для чего можно использовать USearch?
- Добавление семантического поиска по эмбеддингам в приложение или сервис Встраивание векторного индекса в мобильное или клиентское приложение на разных платформах Поиск похожих объектов по молекулярным отпечаткам или геопространственным координатам Обслуживание очень больших индексов с диска для снижения затрат на RAM
- Где скачать USearch?
- Исходный код и инструкции по установке — на GitHub: https://github.com/unum-cloud/USearch
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Qdrant — движок поиска векторов по сходству и векторная база данных на Rust с фильтрацией по payload для семантического поиска и рекомендаций.
Расширение с открытым исходным кодом для поиска векторов по сходству в Postgres: храните эмбеддинги и выполняйте поиск рядом с реляционными данными.
Векторная база данных с открытым исходным кодом: хранит объекты и векторы вместе, объединяя поиск по сходству векторов со структурированной фильтрацией.
Встраиваемая библиотека и база данных для мультимодального ИИ с векторным, полнотекстовым поиском и SQL-запросами по данным в формате Lance.
Библиотека на C++ с привязками для Python для быстрого поиска похожих объектов и кластеризации плотных векторов, с опциональным ускорением на GPU.