Implement the Vector of Floats data type and basic vector search scalar functions #812
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation:
In Generative AI Application having the ability to deal with vectors (of float) is fundamental in order to implement the RAG patten.
While HerdDB is not meant to be a Vector database, it is still true the one of the HerdDB goals is to be a small footprint embeddable database, very useful for testing and for small applications.
Contents of the patch:
In order to support the RAG pattern you only need 2 features:
This patch doesn't add any special index, it is really out of the scope of HerdDB, but with this key features it is pretty easy to build a small vector database to index thousands of documents and support chat bots.
Sample table:
Sample Vector Search query