horosvec aims to make large RAG search lighter in pure Go

horosvec is an index for document search that runs inside an app instead of as a separate service. It is presented as targeting a 26 million entry RAG setup on CPU with millisecond-level searches. Its data lives in one SQLite file, and the code is written in pure Go, so it can be shipped as a static binary without CGO.

Many systems need a , native libraries, and extra operations work, while horosvec is built to reduce that setup burden. It avoids comparing a query with every stored document. Instead, it uses Vamana, a graph-based search method that moves through connected nearby items to find likely matches quickly.

Its pruning step keeps useful long-distance links, so the search is less likely to get stuck in a poor local area. The project uses the .

Key points

  • horosvec is an embedded index written in pure Go.
  • It stores index state in a single SQLite file.
  • It does not need CGO, which helps with simple static binary .
  • It targets 26 million entry RAG search on CPU with millisecond-level lookup.
  • It uses Vamana to search through a graph instead of scanning every item.
Read original