feat(memory): extract VectorStore trait abstraction#554
Merged
Conversation
4 tasks
Introduce a backend-agnostic VectorStore trait with 7 async methods (ensure_collection, upsert, search, delete_by_ids, scroll_all, collection_exists, delete_collection) and implement it for QdrantOps. Add InMemoryVectorStore behind `mock` feature for unit testing without Qdrant. Refactor QdrantStore and SemanticMemory to use Box<dyn VectorStore> for dependency injection. Closes #462, #463, #464, #465 Relates to #476
0d19c43 to
cd760d5
Compare
The struct now holds Box<dyn VectorStore> and is no longer Qdrant-specific. Rename qdrant.rs to embedding_store.rs and QdrantStore to EmbeddingStore to reflect the abstraction layer.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Summary
VectorStoretrait with 7 async methods andVectorStoreErrorenumVectorStoreforQdrantOpswith type conversionsInMemoryVectorStore(brute-force cosine similarity) behindmockfeature for unit testingQdrantStoreandSemanticMemoryto useBox<dyn VectorStore>for dependency injectionTest plan
--features mockCloses #462,Closes #463,Closes #464,Closes #465
Relates to #476