• Home
  • Categories
  • Tags
  • Pricing
  • Submit
    Decorative pattern
    1. Home
    2. Sdks & Libraries
    3. SymphonyQG

    SymphonyQG

    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.

    🌐Visit Website

    About this tool

    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.


    Features

    Core Capabilities

    • Approximate Nearest Neighbor (ANN) search for high-dimensional vectors.
    • Hybrid quantization + graph approach ("quantized graph") to balance recall, latency, and memory footprint.
    • Configurable similarity metric (e.g., choose distance metric when creating the index).
    • Bounded graph degree via degree_bound parameter to control graph connectivity and index size.

    Library Structure

    • data/
      • Contains datasets and pre-built indices used for experiments and reproduction.
    • 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/
      • Python bindings exposing the core C++ ANN index to Python.
    • reproduce/
      • Scripts and code to reproduce experimental results, including configuration and dataset handling.
    • test/
      • Tests for validating core functionality (implied by directory name).

    Python API (Recommended Interface)

    Index Construction

    symphonyqg.Index(index_type, metric, num_elements, dimension, degree_bound=32)
    
    • Parameters
      • 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.

    Methods

    • build_index(data, EF, num_iter=3, num_threads=ALL_THREADS)

      • Builds the ANN index from training data.
      • 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)

      • Saves the built index to disk.
    • load(filename)

      • Loads a previously saved index from disk.
    • set_ef(EF)

      • Adjusts the runtime search parameter EF to trade off latency vs. recall without rebuilding the index.
    • search(query, k)

      • Performs ANN search.
      • query: query vector(s), shape (dimension,) or (1, dimension), dtype=float32.
      • k: number of nearest neighbors to retrieve.

    Examples & Reproducibility

    • Python examples: basic usage via Python bindings (creation, build, search, save/load) indicated in README.md.
    • Real-world datasets: example configurations and scripts under ./reproduce.
    • Datasets description: additional details in ./data/README.md.
    • Reproduction guide: steps for experiments in ./reproduce/README.md.

    C++ Usage

    • C++ examples are provided (mentioned under “C++ examples”) for users who want to integrate SymphonyQG directly at the C++ level instead of Python.

    License

    • A LICENSE file is present in the repository; consult it directly for the exact open-source license terms.

    Pricing

    SymphonyQG is an open-source research codebase hosted on GitHub. No pricing or paid plans are specified in the available content.

    Surveys

    Loading more......

    Information

    Websitegithub.com
    PublishedDec 25, 2025

    Categories

    1 Item
    Sdks & Libraries

    Tags

    3 Items
    #Ann#vector quantization#graph index

    Similar Products

    6 result(s)
    iRangeGraph

    iRangeGraph is an ANN indexing approach and accompanying implementation for range-filtering nearest neighbor search. It provides a specialized graph-based index that supports vector similarity search under range constraints, making it directly useful as a component or reference implementation for advanced vector database indexing and retrieval.

    LibVQ

    LibVQ is an open-source toolkit for optimizing vector quantization and efficient neural retrieval, offering training and indexing components that can serve as the core of high-performance approximate nearest neighbor search and vector database systems.

    NSG

    NSG is an approximate nearest neighbor search algorithm based on a sparse navigable graph structure designed for high-dimensional vector similarity search. The reference implementation provides a graph-based ANN index that can be integrated into custom vector retrieval systems.

    PUFFINN

    Parameterless and Universal Fast Finding of Nearest Neighbors - an LSH-based library for approximate nearest neighbor search with probabilistic guarantees. Features a parameterless design requiring only memory budget and result quality specifications.

    ANN Library

    A C++ library for approximate nearest neighbor searching in arbitrarily high dimensions, developed by David Mount and Sunil Arya at the University of Maryland. Provides data structures and algorithms for both exact and approximate nearest neighbor searching.

    FLANN (Fast Library for Approximate Nearest Neighbors)

    A C++ library for performing fast approximate nearest neighbor searches in high dimensional spaces. Contains multiple ANN algorithms and automatic algorithm selection based on dataset characteristics.

    Decorative pattern
    Built with
    Ever Works
    Ever Works

    Connect with us

    Stay Updated

    Get the latest updates and exclusive content delivered to your inbox.

    Product

    • Categories
    • Tags
    • Pricing
    • Help

    Clients

    • Sign In
    • Register
    • Forgot password?

    Company

    • About Us
    • Admin
    • Sitemap

    Resources

    • Blog
    • Submit
    • API Documentation
    All product names, logos, and brands are the property of their respective owners. All company, product, and service names used in this repository, related repositories, and associated websites are for identification purposes only. The use of these names, logos, and brands does not imply endorsement, affiliation, or sponsorship. This directory may include content generated by artificial intelligence.
    Copyright © 2025 Awesome Vector Databases. All rights reserved.·Terms of Service·Privacy Policy·Cookies