thehardwarestore.ai

where AI agents shop for the right tools

── 98910 repos indexed ── | filtered by tag: #similarity-search
qdrant/qdrant β˜… 34859 2705 APPLICATION

Qdrant is a production-grade vector similarity search engine and database written in Rust. In production it stores points (dense, sparse, or multi-vector embeddings with optional JSON payloads), builds approximate nearest-neighbor indexes (HNSW, sparse inverted indexes, plain scans), and serves similarity search, recommendation, discovery, grouping, facet, and hybrid BM25+vector fusion queries over REST and gRPC APIs. It runs as a distributed cluster: collections are sharded and replicated across nodes with Raft-based consensus for cluster metadata, supporting resharding, snapshot transfer, and tunable consistency. An embedded variant (Qdrant Edge) ships with Python bindings and UniFFI for serverless and edge deployments. The workspace is modular: segment (vector storage, indexing, quantization), collection (shard management, replication, optimizers), shard (query planning, grouping, quota), storage (consensus, content manager, RBAC), api (REST/gRPC definitions), and common (universal I/O, hardware counters, data structures). The codebase demonstrates exceptional engineering: SIMD-optimized distance metrics (AVX2/SSE/NEON), GPU-accelerated HNSW via Vulkan compute shaders, advanced quantization (binary, product, scalar, TurboQuant with Hadamard rotation and P-square estimators), a universal I/O abstraction over mmap/io_uring/object stores, and a read-only/update-only storage separation pattern with live reload. The test suite is extensive: unit, integration, multi-node consensus (Python), e2e, and criterion benchmarks. Maintenance is very active with daily commits, a large CI matrix, and a mature release process. The main risks are inherent complexity: feature-flag proliferation, multiple SIMD backends, custom forks of tonic and raft-rs, and a combinatorial surface of index and storage variants. Overall this is one of the best-engineered open-source databases, with genuinely reusable crates (blobstore, posting_list, quantization, wal, universal_io) that could be extracted into standalone projects.

RATING: 9.9/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
facebookresearch/faiss β˜… 40987 4532 APPLICATION

FAISS (Facebook AI Similarity Search) is a high-performance library for efficient similarity search and clustering of dense vectors. It serves as the de facto standard library for approximate nearest neighbor (ANN) search in production environments, supporting hardware-accelerated (CPU with SIMD, GPU via CUDA/Metal) and research-grade algorithms. The codebase implements dozens of index types (flat, IVF, PQ, SQ, HNSW, NSG, RaBitQ, additive quantizers, binary, etc.), each with multiple encoding and scanning strategies. The architecture is layered: a core C++ library with extensible index and quantizer abstractions, a full C API, Python bindings via SWIG, and optional GPU or Intel SVS backends. Key entry points include the string-based index factory, training/search methods, and serialization utilities. The library is designed for both offline indexing and real-time search, with extensive auto-tuning and benchmark infrastructure.

RATING: 9.6/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
paradedb/paradedb β˜… 9402 478 APPLICATION

ParadeDB is a PostgreSQL extension that provides full-text search, vector search, and analytics directly within the database, eliminating the need for a separate search service. The core engine is `pg_search`, which implements a custom index access method (`paradedb`/`bm25`) using Tantivy for search indexing and DataFusion for analytic aggregations. It supports BM25 scoring, phrase/term/boolean queries, fuzzy matching, proximity search, hybrid search (combining full-text and vector), and a rich set of tokenizers (including jieba, ICU, Lindera, ngram). The extension integrates deeply with PostgreSQL's planner through custom scan nodes (BaseScan, AggregateScan, JoinScan, MPP) to push down search, aggregation, and join operations into the index. It also offers columnar storage via fast fields, parallel query execution, and WAL-level integration for crash safety. Architecturally, the system is a Rust library compiled as a shared library loaded by PostgreSQL, using the `pgrx` framework for FFI. Entry points include SQL functions for search (e.g., `paradedb.query`, `pdb.score`), DDL for index creation, and custom plan/exec hooks. Data flows: user SQL queries are intercepted by the planner, which decides whether to use a custom scan path; if so, Tantivy or DataFusion executes the search/aggregation/join, producing tuples that are optionally post-processed by PostgreSQL (e.g., heap fetches, visibility checks). The extension relies on external dependencies: Tantivy (forked for block storage), DataFusion (for aggregate execution), ICU (for Unicode tokenization), Lindera (for Japanese tokenization), and Apache Arrow (for columnar data exchange).

RATING: 9.5/10 MAINT: active DRIFT: low
β–Έ 5 reusable components found
typesense/typesense β˜… 26632 987 APPLICATION

Typesense is a high-performance, open-source search engine written in C++17, designed as a drop-in alternative to Algolia and Elasticsearch. It provides a RESTful HTTP API for full-text search, faceted navigation, geospatial filtering, vector search (with HNSW), and hybrid (semantic + keyword) search. The architecture is a distributed, Raft-based clustered system with leader election, log replication, and snapshotting, ensuring high availability and consistency. The server integrates with external AI providers (OpenAI, Google, Azure, Cloudflare) for embedding generation and natural language query processing, and supports on-device ONNX models for text, image, and voice search. The codebase is modular, with singleton managers for collections, embeddings, analytics, rate limiting, and authentication, all built on top of a RocksDB-backed key-value store. Extensive test coverage includes C++ unit tests (gtest), TypeScript integration tests (Bun), and benchmark infrastructure (k6, InfluxDB). While primarily an application, it incorporates data-intensive features like statistical sketches (TDigest, CountMinSketch), custom indexing data structures (ART, numeric trie, hat-trie), and analytics pipelines, giving it a hybrid character.

RATING: 9.1/10 MAINT: active DRIFT: low
β–Έ 6 reusable components found
ArcadeData/arcadedb β˜… 1155 140 APPLICATION

ArcadeDB is a high-performance, multi-model database system supporting graph, document, key-value, time-series, vector, and full-text data models. It exposes multiple query languages (SQL, Cypher, Gremlin, GraphQL) and wire protocols (HTTP, Bolt, PostgreSQL, MongoDB, gRPC). The architecture is modular: a core engine (storage, indexing, query execution) with pluggable server plugins for protocols, replication (Raft-based HA), and observability. It features advanced indexing (LSM-tree, hash, vector quantization, sparse vectors, full-text BM25), time-series with PromQL and downsampling, and graph analytical views with CSR compression. Python bindings allow embedded use. The codebase demonstrates strong engineering with extensive use of interfaces, design patterns, comprehensive test coverage (including issue-specific regression tests), and automated CI/CD with performance benchmarks. It is actively maintained with low technical debt and a clean architecture.

RATING: 8.5/10 MAINT: active DRIFT: low
β–Έ 3 reusable components found
LuqP2/Image-MetaHub β˜… 322 25 APPLICATION

Image MetaHub is a local-first Electron desktop application for organizing, browsing, and re-generating AI-generated images. It indexes media files in place (no uploads, no moving files) and extracts structured metadata β€” prompts, models, LoRAs, samplers, seeds, workflows β€” from 15+ generators including ComfyUI, A1111, InvokeAI, Midjourney, DALL-E, Fooocus, and Adobe Firefly (via C2PA/JUMBF/CBOR parsing). Beyond images it handles video, audio, and 3D model metadata. The app provides tagging, collections, automation rules, ratings, analytics, image comparison with pixel-level diffing, lineage/provenance tracking, and integration with local ComfyUI/A1111 instances for re-generation and upscaling. Pro features (visual search, clustering, batch export) are gated by an offline license system with a 7-day trial and Stripe billing.

RATING: 8.5/10 MAINT: active DRIFT: medium
β–Έ 6 reusable components found
pgvector/pgvector-php β˜… 197 14 APPLICATION

This repository provides a PHP library for integrating with the pgvector extension in PostgreSQL, offering support for vector, halfvec, bit, and sparsevec data types. It includes core vector classes (Vector, HalfVector, SparseVector) and integrations for Laravel (Eloquent models, migrations, and a service provider) and Doctrine (DBAL types and DQL functions). The library enables developers to store and query vector embeddings using various distance metrics (L2, inner product, cosine, etc.) in their PHP applications. The architecture is modular, with separate namespaces for core functionality, Laravel, and Doctrine integrations, allowing users to adopt only the parts they need.

RATING: 7.5/10 MAINT: active DRIFT: low
β–Έ 2 reusable components found
MTG/gaia β˜… 299 66 APPLICATION

Gaia is a C++ library for similarity search and classification of audio descriptor data, developed by the Music Technology Group at Universitat Pompeu Fabra. It provides a rich set of algorithms for transforming and analyzing feature collections: normalization, PCA, RCA, SVM training/prediction, feature selection, and cleaning. The library supports both in-memory and 'frozen' (contiguous) data layouts for efficient nearest-neighbor queries with custom distance functions (Euclidean, Cosine, Kullback–Leibler, etc.) and a custom filter language for WHERE-clause predicates. Python bindings via SWIG expose the full API, and a suite of command-line tools (gaiamerge, gaiainfo, gaiafreeze) handle dataset management. A built-in classification framework with scripts for SVM grid search, cross-validation, and confusion-matrix generation complements the library. Although designed for music information retrieval (MIR) workflows in conjunction with Essentia audio extractors, the library could be adapted to any domain requiring distance-based search and transformation pipelines on structured point data. The codebase is predominantly an application-level library, with a strong research flavor due to its MIR focus.

RATING: 6.4/10 MAINT: stale DRIFT: high
β–Έ 4 reusable components found
── end of results ──
$ submit: