



SymphonyQG is a research codebase and method that integrates vector quantization with graph-based indexing to build efficient approximate nearest neighbor (ANN) indexes for high-dimensional vector search. It targets vector database and similarity search scenarios where combining compact codes with navigable graphs can improve recall–latency tradeoffs and memory footprint.
Loading more......
On this page
SymphonyQG
Category: SDKs & Libraries
Brand: gouyt13
Source: https://github.com/gouyt13/SymphonyQG
SymphonyQG is a research codebase and ANN indexing method that integrates vector quantization with graph-based indexing to build efficient approximate nearest neighbor (ANN) indexes for high-dimensional vector search. It is aimed at vector databases and similarity search workloads where combining compact quantized codes with navigable graphs improves recall–latency trade-offs and reduces memory usage.
degree_bound parameter to control graph connectivity and index size.data/
symqglib/
index/
fastscan/: helper functions for FastScan-style operations.qg/: implementation of the quantized graph index.third/: third-party dependencies needed by the library.utils/: common utility functions.python/
reproduce/
test/
symphonyqg.Index(index_type, metric, num_elements, dimension, degree_bound=32)
index_type: type of ANN index to build (e.g., specific quantization/graph variant; exact values in repo docs/code).metric: distance/similarity metric (e.g., L2, inner product; details in repo).num_elements: number of vectors the index will hold.dimension: dimensionality of each vector.degree_bound (optional, default = 32): upper bound on graph node degree to control index sparsity and memory.build_index(data, EF, num_iter=3, num_threads=ALL_THREADS)
data: input dataset, shape (num_elements, dimension), dtype=float32.EF: construction/search breadth parameter (controls exploration during graph-based search/build).num_iter: number of construction iterations (default 3).num_threads: number of threads to use (default ALL_THREADS).save(filename)
load(filename)
set_ef(EF)
EF to trade off latency vs. recall without rebuilding the index.search(query, k)
query: query vector(s), shape (dimension,) or (1, dimension), dtype=float32.k: number of nearest neighbors to retrieve.README.md../reproduce../data/README.md../reproduce/README.md.LICENSE file is present in the repository; consult it directly for the exact open-source license terms.SymphonyQG is an open-source research codebase hosted on GitHub. No pricing or paid plans are specified in the available content.
Explore more items related to this one