Faiss
Faiss is a library for efficient similarity search and clustering of dense vectors. Unlike cloud vector stores, Faiss runs locally on your machine and saves data to your file system.
Faiss Node
Prerequisites
Method 1: NPM/Source Installation
For local installations, ensure your machine can compile C++ modules.
- Linux: Install
build-essential. - MacOS: Run
xcode-select --installto get Clang/C++ tools. - Windows: Install Visual Studio Build Tools and Python.
Method 2: Docker
If you are running CiniterFlow using Docker, Faiss is ready to use.
Setup
Inputs
| Input | Description |
|---|---|
| Document | Connect any node from the Document Loader category. |
| Embeddings | Connect any node from the Embeddings category. |
Parameters
- Base Path: The folder path where the index files (
faiss.indexanddocstore.json) will be saved.- If left blank, data is stored in RAM and will be lost when CiniterFlow restarts.
- Docker Path Example:
/root/.ciniterflow/faiss -
Note: Ensure the path is mapped to a volume in your
docker-compose.ymlfile to prevent data loss upon container restart. - Local Path Example:
C:\Users\YourName\ciniterflow_data
Configuration and Ingestion
- Add a new Faiss node on the canvas.
- Enter a folder path in the Faiss node’s Base Path field.
- Connect your Document Loader and Embeddings nodes to the Faiss node.
- Click Upsert Vector Database to process your documents.
Verify
To verify your data has been upserted, navigate to the folder you specified in the Base Path field. You should see files faiss.index and docstore.json.