mbdavid / LiteDB

LiteDB - A .NET NoSQL Document Store in a single data file
http://www.litedb.org
MIT License
8.62k stars 1.25k forks source link

Add Vector functionality for LLM embedding #2364

Open thijse opened 1 year ago

thijse commented 1 year ago

Is your feature request related to a problem? Please describe. It seems that currently no native Vector Database exists (for use in AI applications) in C#/.NET, let alone one that is serverless and easily integrated in an application. I think I am not the only person in need of such a solution: LLMs are moving beyond just Python, more and more functionality is getting available in C# (see e.g. https://github.com/microsoft/semantic-kernel). I would like to be able to create standalone C# applications that can store knowledge by means of vector embedding.

Describe the solution you'd like I would like to be able to store N dimensional vectors and efficiently retrieve them. I think storing them in LiteDB might already be viable, although I'm not sure optimized storage and retrieval would be. The main feature needed, I think, is a nearest neighbour search using a pre-created Index. As far as I could find, https://github.com/curiosity-ai/hnsw-sharp is the only Index generator available in C#.

Describe alternatives you've considered

Thank you so much for this great database and making it freely availabe!