Description:
Indexes for k-d and ball tree algorithms are regenerated when any of the following events occur:
When a Vector database is loaded (VectorDatabase.LoadAsync())
When a Vector is modified in VectorList and five seconds of time has elapsed
Design Considerations:
More search algorithms that require an in-memory index may be added in the future.
Changes to the index monitoring thread in VectorDatabase may occur based on performance observations.
We could put these indexes in separate binary files for each algorithm or add them to the vectors.bin
I recommend using the existing pattern for gzip compression. Others can be added as long as they have a NuGet package and can work on all supported .NET platforms.
Tasks:
Add ToBinary / FromBinary functions to inflate and deflate index data from a byte stream.
Add these files
Hook in the binary loading and writing into VectorDatabase.LoadAsync() and SaveAsync.
Test coverage is a needed
How to Contribute:
Fork the repository and create a new branch for your changes.
Add your code for the load/save serialization
Ensure all new and existing tests pass.
Submit a pull request with a detailed description of the changes.
Description: Indexes for k-d and ball tree algorithms are regenerated when any of the following events occur:
VectorDatabase.LoadAsync()
)VectorList
and five seconds of time has elapsedDesign Considerations:
VectorDatabase
may occur based on performance observations.vectors.bin
Tasks:
ToBinary
/FromBinary
functions to inflate and deflate index data from a byte stream.Add these files
VectorDatabase.LoadAsync()
andSaveAsync
.How to Contribute: