https://github.com/hlfshell/gsvt
GSVT - Go SQLite Vector Topper; an add-on to add vector searches in embedded applications
https://github.com/hlfshell/gsvt
Last synced: 8 months ago
JSON representation
GSVT - Go SQLite Vector Topper; an add-on to add vector searches in embedded applications
- Host: GitHub
- URL: https://github.com/hlfshell/gsvt
- Owner: hlfshell
- Created: 2023-05-20T16:14:38.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-05-27T17:37:15.000Z (about 3 years ago)
- Last Synced: 2025-04-04T05:42:59.026Z (about 1 year ago)
- Language: Go
- Size: 291 KB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GSVT
GSVT (Go Sqlite Vector Topper) is an add-on library that utilizes SQLite as a vector search engine, *sort of*. It's for small client-side applications where the total set of vectors being searched across can be loaded into memory, searched, and then unloaded. It is less efficient than a direct vector database. Why use this then? Simplicity and ease of deployment. The end-user doesn't need to load any plugins or configure database specific configurations as would be needed in sqlite-vss or pgvector.
This application is a set of tooling that sits on top of a SQLite instance, creates and manages migrations of tables based on a specified schema, and provides a set of functions for searching across the vectors. This metadata-filter-first approach; It performs a sqlite search across the metadata of the request first, then loads all of the selected vectors into memory, and finally performs the specified similarity comparison, returning a ranked list of results.