{"data":{"slug":"microsoft-sptag","name":"SPTAG","tagline":"Distributed ANN library for large-scale vector search","github_url":"https://github.com/microsoft/SPTAG","owner":"microsoft","repo":"SPTAG","owner_avatar_url":"https://avatars.githubusercontent.com/u/6154722?v=4","primary_language":"C++","stars":5012,"forks":620,"topics":["approximate-nearest-neighbor-search","distributed-serving","fresh-update","neighborhood-graph","space-partition-tree","vector-search"],"archived":false,"github_pushed_at":"2026-08-21T05:25:04+00:00","maintenance_label":"Very active","stars_delta_30d":5,"url":"https://www.graphcanon.com/tools/microsoft-sptag","markdown_url":"https://www.graphcanon.com/tools/microsoft-sptag.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/microsoft-sptag","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=microsoft-sptag","description":"A distributed approximate nearest neighborhood search (ANN) library which provides a high quality vector index build, search and distributed online serving toolkits for large scale vector search scenario.","homepage_url":null,"license":"MIT","open_issues":143,"watchers":131,"ai_summary":"microsoft/SPTAG is a C++ distributed approximate nearest neighborhood search library that offers tools for building and serving high-quality indexes in large-scale vector search scenarios.","readme_excerpt":"### **Requirements**\n\n* swig >= 4.0.2\n* cmake >= 3.12.0\n* boost >= 1.67.0\n\n---\n\n### **Install**\n\n> For Linux:\n> Compile SPDK\n```bash\ncd ThirdParty/spdk\n./scripts/pkgdep.sh\nCC=gcc-9 ./configure\nCC=gcc-9 make -j\n```\n\n> Compile isal-l_crypto\n```bash\ncd ThirdParty/isal-l_crypto\n./autogen.sh\n./configure\nmake -j\n```\n\n> Build RocksDB\n```bash\nmkdir build && cd build\ncmake -DUSE_RTTI=1 -DWITH_JEMALLOC=1 -DWITH_SNAPPY=1 -DCMAKE_C_COMPILER=gcc-7 -DCMAKE_CXX_COMPILER=g++-7 -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_FLAGS=\"-fPIC\" ..\nmake -j\nsudo make install\n```\n\n> Build SPTAG\n```bash\nmkdir build\ncd build && cmake -DSPDK=OFF -DROCKSDB=OFF .. && make\n```\nIt will generate a Release folder in the code directory which contains all the build targets.\n\n> For Windows:\n```bash\nmkdir build\ncd build && cmake -A x64 -DSPDK=OFF -DROCKSDB=OFF ..\n```\nIt will generate a SPTAGLib.sln in the build directory. \nCompiling the ALL_BUILD project in the Visual Studio (at least 2019) will generate a Release directory which contains all the build targets.\n\nFor detailed instructions on installing Windows binaries, please see [here](docs/WindowsInstallation.md)\n\n> Using Docker:\n```bash\ndocker build -t sptag .\n```\nWill build a docker container with binaries in `/app/Release/`.\n\n---\n\n## **License**\nThe entire codebase is under [MIT license](https://github.com/Microsoft/SPTAG/blob/master/LICENSE)","github_created_at":"2018-09-12T10:42:51+00:00","created_at":"2026-07-11T11:33:06.229298+00:00","updated_at":"2026-08-23T00:01:10.491249+00:00","categories":[{"slug":"inference-serving","name":"Inference & Serving","url":"https://www.graphcanon.com/categories/inference-serving","markdown_url":"https://www.graphcanon.com/categories/inference-serving.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/inference-serving"},{"slug":"vector-databases","name":"Vector Databases","url":"https://www.graphcanon.com/categories/vector-databases","markdown_url":"https://www.graphcanon.com/categories/vector-databases.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/vector-databases"}],"tags":[{"slug":"approximate-nearest-neighbor-search","name":"approximate-nearest-neighbor-search"},{"slug":"distributed-serving","name":"distributed-serving"},{"slug":"fresh-update","name":"fresh-update"},{"slug":"neighborhood-graph","name":"neighborhood-graph"},{"slug":"space-partition-tree","name":"space-partition-tree"},{"slug":"vector-search","name":"vector-search"}],"trust":{"provenance":{"is_fork":false,"github_id":148464499,"owner_type":"Organization","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-08-23T00:01:09.661Z","maintenance":{"label":"Very active","score":96,"methodology":"github_public_v1","releases_90d":0,"days_since_push":1,"last_release_at":null,"stars_delta_30d":5,"open_issues_delta_30d":0},"security_summary":{"status":"no_lockfile","scanner":null,"low_count":0,"high_count":0,"last_scan_at":"2026-07-11T11:33:07.417Z","medium_count":0,"scan_profile":"none","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-08-23T00:01:10.149Z"},"deploy":{"source":"dockerfile:Dockerfile","self_host":true,"observed_at":"2026-08-23T00:01:10.149Z","managed_saas":false},"languages":{"value":["c++"],"source":"github.language","observed_at":"2026-08-23T00:01:10.149Z"},"has_docker":{"value":true,"source":"dockerfile:Dockerfile","observed_at":"2026-08-23T00:01:10.149Z"},"license_spdx":{"value":"MIT","source":"github.license","observed_at":"2026-08-23T00:01:10.149Z"}},"decision_facts":{"hosting":null,"pricing":{"model":"freemium","summary":"SPTAG is open source and free to use under the MIT license. Advanced support or integrations may bear extra costs depending on commercial context."},"requirements":{"notes":["Requires proficiency in C++ for optimal customization, though general usage can be managed with provided toolkits.","High infrastructure demands due to its distributed nature make efficient resource management a priority."]},"constraints":{"pricing_model":"freemium"},"when_to_use":["If you are working on applications that require quick access to nearest neighborhood data in massive datasets, such as recommendation engines or image search systems.","When a scalable solution for fresh updates is necessary without disrupting ongoing operations - SPTAG supports real-time index updates and distributed serving."],"when_not_to_use":["Avoid using SPTAG if your application does not benefit from distributed infrastructure and prefers simpler, single-machine deployments with less operational complexity.","If the primary requirement of your project is a high level of exactness over speed in nearest neighbor detection, as SPTAG compromises on precision for faster query performance."],"source":"enrich:decision_facts","observed_at":"2026-07-15T09:13:30.536Z"},"constraint_facets":{"pricing_model":"freemium"},"decision_summary":[{"label":"Pricing","value":"freemium - SPTAG is open source and free to use under the MIT license. Advanced support or integrations may bear extra costs depending on commercial context."},{"label":"Requirements","value":"Requires proficiency in C++ for optimal customization, though general usage can be managed with provided toolkits.; High infrastructure demands due to its distributed nature make efficient resource management a priority."},{"label":"Adopt for","value":"SPTAG is optimal for developers and enterprises handling large-scale vector searches who need high-quality indexing with efficient serving mechanisms."}]}}