Skip to main content

inline::faiss

Description​

Faiss is an inline vector database provider for OGX. It allows you to store and query vectors directly in memory. That means you'll get fast and efficient vector retrieval.

Features​

  • Lightweight and easy to use
  • Fully integrated with OGX
  • GPU support
  • Vector search - FAISS supports pure vector similarity search using embeddings

Search Modes​

Supported:

  • Vector Search (mode="vector"): Performs vector similarity search using embeddings

Not Supported:

  • Keyword Search (mode="keyword"): Not supported by FAISS
  • Hybrid Search (mode="hybrid"): Not supported by FAISS

Note: FAISS is designed as a pure vector similarity search library. See the FAISS GitHub repository for more details about FAISS's core functionality.

Usage​

To use Faiss in your OGX project, follow these steps:

  1. Install the necessary dependencies.
  2. Configure your OGX project to use Faiss.
  3. Start storing and querying vectors.

Installation​

You can install Faiss using pip:

pip install faiss-cpu

Documentation​

See Faiss' documentation or the Faiss Wiki for more details about Faiss in general.

Configuration​

FieldTypeRequiredDefaultDescription
persistenceKVStoreReferenceNo
persistence.namespacestrNoKey prefix for KVStore backends
persistence.backendstrNoName of backend from storage.backends
metadata_storeSqlStoreReference | NoneNoSQL store reference for tenant-isolated vector store metadata
metadata_store.table_namestrNoName of the table to use for the SqlStore
metadata_store.backendstrNoName of backend from storage.backends

Sample Configuration​

persistence:
namespace: vector_io::faiss
backend: kv_default