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
I am now using an in-memory list of vectors and brute force searching. For a few books or chat sessions, retrieval is viable, but it does not scale much further than that.
I have considered PineCone with the .NET API (https://github.com/neon-sunset/Pinecone.NET). But I do not want to use a full fledged-database server as part of my rather small application
SqlLite with vector extensions: https://simonwillison.net/2023/Feb/10/sqlite-vss/. SqlLite is like LiteDB lightweight and serverless. however the vector extensions seem not to be part of the normal SqlIte distribution and are as of yet not implemented in any of the C# wrappers.
Thank you so much for this great database and making it freely availabe!
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!