Repolode
facebookresearch

facebookresearch/faiss

Библиотека на C++ с привязками для Python для быстрого поиска похожих объектов и кластеризации плотных векторов, с опциональным ускорением на GPU.

Звёзды
41,171
Форки
4,561
Открытые issues
352
Последний коммит
14 часов назад

Что это?

Faiss — библиотека для поиска похожих объектов и кластеризации плотных векторов. Она предоставляет индексы для поиска по наборам векторов — от небольших коллекций до таких, которые не помещаются в RAM.

Индексы позволяют выбирать компромисс между скоростью поиска, качеством результатов, памятью на вектор, а также временем обучения или добавления данных. Сжатые представления, например бинарные векторы и коды квантования, позволяют не хранить исходные векторы и масштабироваться до миллиардов векторов на одном сервере. Структуры на основе графов, такие как HNSW и NSG, ускоряют запросы за счёт индекса поверх исходных векторов.

Библиотека написана на C++ и включает обёртки для Python и numpy. Реализации для GPU принимают данные с CPU или GPU, поддерживают конфигурации с одним и несколькими GPU и могут подменять CPU-индексы: например, IndexFlatL2 можно заменить на GpuIndexFlatL2. Для сборки нужны CMake и реализация BLAS.

Ключевые возможности

  • 01Точный и приближённый поиск ближайших соседей среди плотных векторов с метриками L2 или скалярного произведения.
  • 02Сжатые индексы на основе бинарных векторов и кодов квантования, подходящие для очень больших коллекций.
  • 03Индексы на основе графов, такие как HNSW и NSG, для ускорения приближённого поиска.
  • 04Опциональные реализации для GPU, которыми можно напрямую заменять CPU-индексы.
  • 05Обёртки для Python с поддержкой numpy и ядро на C++.

Сценарии использования

  • Создание семантического поиска или системы поиска по векторам эмбеддингов.
  • Поиск ближайших соседей в коллекциях, слишком больших для размещения в памяти, с помощью сжатых индексов.
  • Кластеризация больших наборов векторов с помощью k-means, ускоренного на GPU.

Быстрый старт

  1. 1

    Установите из Anaconda предварительно собранный пакет faiss-cpu для Python

  2. 2

    Прочитайте руководство для начинающих в вики проекта

Что важно знать

  • Для ускорения на GPU требуется оборудование с поддержкой NVIDIA CUDA или AMD ROCm.
  • Для сборки из исходного кода необходимы cmake и реализация BLAS; см. INSTALL.md.

Темы

Частые вопросы

Что такое faiss?
Библиотека на C++ с привязками для Python для быстрого поиска похожих объектов и кластеризации плотных векторов, с опциональным ускорением на GPU. Faiss — библиотека для поиска похожих объектов и кластеризации плотных векторов. Она предоставляет индексы для поиска по наборам векторов — от небольших коллекций до таких, которые не помещаются в RAM.
faiss можно использовать бесплатно? Какая у него лицензия?
faiss распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
faiss всё ещё поддерживается?
Активно поддерживается. Последний коммит в faiss — 20 окт. 2026 г..
Для чего можно использовать faiss?
Создание семантического поиска или системы поиска по векторам эмбеддингов. Поиск ближайших соседей в коллекциях, слишком больших для размещения в памяти, с помощью сжатых индексов. Кластеризация больших наборов векторов с помощью k-means, ускоренного на GPU.
Как установить faiss?
Установите из Anaconda предварительно собранный пакет faiss-cpu для Python Прочитайте руководство для начинающих в вики проекта
Где скачать faiss?
Исходный код и инструкции по установке — на GitHub: https://github.com/facebookresearch/faiss

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты