top | item 41188932

I built a vector embedding database in Go for learning purposes

8 points| alash3al | 1 year ago |github.com

1 comment

order

PhilippGille|1 year ago

For vector DBs running as server I think there's already a lot of choice (Qdrant, Chroma, Milvus, Weaviate, but also PostgreSQL with pgvector etc.). But as you said it was a fun learning experience for you, so that's great!

When I needed a vector DB for Go I was looking for an embedded/in-process library that doesn't require CGO (there are CGO bindings to Faiss, Annoy, sqlite-vss etc) and didn't find a suitable one, so I built https://github.com/philippgille/chromem-go/

One feedback for your library: I noticed you have a top level directory `internals`. Is that a typo of `internal`? The latter has the special property of only being importable from the same module.