NGT is a C++ library and CLI for fast approximate nearest neighbor search on high-dimensional data, supporting graph and tree-based indexing with multiple data types and distance metrics.
Collecting history — the radar snapshots this repo daily. The trend line appears after 3 days of data (2 so far).
What it is
NGT provides commands and a library for performing high-speed approximate nearest neighbor searches against a large volume of data in high dimensional vector data space.
How it works
Method: Graph and tree-based indexing (NGT) with optional QG (Quantized graph-based) and QBG (Quantized blob graph-based) methods. Supported distance functions include L1, L2, Cosine similarity, Angular, Hamming, Jaccard, Poincare, Lorentz, and Inner product. Data types include 4-byte and 2-byte floating point numbers, and 1-byte unsigned integers. Build parameters cover shared memory usage, large data optimization, and disabling QG/QBG.
Getting started
Installation steps are provided for Linux, CentOS, Ubuntu, and macOS. Build commands include cmake and make sequences, with options such as -DNGT_QBG_DISABLED=ON and -DNGT_SHARED_MEMORY_ALLOCATOR=ON. Example commands from README:
- $ unzip NGT-x.x.x.zip
- $ cd NGT-x.x.x
- $ mkdir build
- $ cd build
- $ cmake -DNGT_QBG_DISABLED=ON ..
- $ make
- $ make install
- $ ldconfig /usr/local/lib
Build parameters include:
- Shared memory use: -DNGT_SHARED_MEMORY_ALLOCATOR=ON ..
- Large-scale data use: -DNGT_LARGE_DATASET=ON ..
- Disable QG and QBG: -DNGT_QBG_DISABLED=ON ..
Supported languages include Python, Ruby, PHP, Rust, Go, C, and C++ (sample code).
Recent releases
Latest releases (as listed):
- v2.7.4 Add PrimitiveComparatorArm.h (2026-04-20)
- v2.7.3 Add support for ARM NEON (2026-04-20)
- v2.7.2 Add an option for normalization errors (2026-03-18)
- v2.7.1 Fix normalization issues (2026-03-16)
- v2.7.0 Improve Forest and QG (2026-03-11)
Traction
Stars: 1368 (as of provided data).
Behind the repo
Public company/organization: Yahoo Japan (contact via contributor page). Publisher pages reference ONNG, PANNG, ANNG, and related publications in the README.
Caveats
License: Apache-2.0. Created in 2016. Last push: 2026-07-27. Issues: 30 open. Original license and CLA requirements noted in repository.






