feder  by zilliztech

JS tool for visualizing ANN index files (Faiss, HNSWlib)

created 3 years ago
449 stars

Top 68.0% on sourcepulse

GitHubView on GitHub
Project Summary

Feder is a JavaScript tool designed to help users understand embedding vector indexes, specifically for Approximate Nearest Neighbor (ANN) search. It visualizes index files from libraries like Faiss and HNSWlib, offering insights into their internal structures and high-dimensional vector embeddings. The primary audience includes researchers, engineers, and data scientists working with vector databases and similarity search.

How It Works

Feder leverages JavaScript and D3.js for frontend visualization. It parses index files (currently focusing on Faiss's IVF_FLAT and HNSWlib's HNSW) to render interactive diagrams. For large datasets, it supports a distributed architecture with separate servers for index parsing (FederIndex), layout calculation (FederLayout), and rendering (FederView), allowing for efficient handling of computationally intensive tasks.

Quick Start & Requirements

  • Installation: yarn install @zilliz/feder
  • Prerequisites: Built ANN index files (Faiss or HNSWlib), Node.js environment for development/server.
  • Usage: JavaScript API for initialization and visualization (feder.overview(), feder.search()).
  • Demo: Online demos available.
  • Development: Clone repo, yarn install, yarn dev for local testing.

Highlighted Details

  • Visualizes HNSW and IVF_FLAT index structures, including search processes.
  • Supports interactive exploration of index levels and search results.
  • Offers solutions (oneServer, twoServer) for handling large indexes by separating computation and rendering.
  • Includes examples for visualizing embeddings from datasets like VOC 2012.

Maintenance & Community

The project is maintained by Zilliz. Further community engagement details (e.g., Discord/Slack) are not explicitly mentioned in the README.

Licensing & Compatibility

The repository does not explicitly state a license in the provided README text. Users should verify licensing for commercial or closed-source use.

Limitations & Caveats

Feder is in early stages, with plans to support more ANN index types. The FederIndex component can be memory-intensive for very large indexes.

Health Check
Last commit

2 years ago

Responsiveness

1 day

Pull Requests (30d)
0
Issues (30d)
0
Star History
14 stars in the last 90 days

Explore Similar Projects

Starred by Jared Palmer Jared Palmer(Ex-VP of AI at Vercel; Founder of Turborepo; Author of Formik, TSDX).

pgvector-node by pgvector

0.8%
399
Node.js library for pgvector support
created 4 years ago
updated 2 weeks ago
Feedback? Help us improve.