Description
This PR adds support for Qdrant - https://qdrant.tech, to be used as a vector store.
You can run Qdrant with
docker run -p 6333:6333 -p 6334:6334 qdrant/qdrant
-
Uses a custom parser for converting Spring AI filters to Qdrant-compatible GRPC filters.
-
Uses a custom parser for converting Spring AI metadata(
Map<String, Object>
) to Qdrant GRPC payload. -
Integration tests have been added for the implemented methods and metadata filters with a locally spawned test container.
-
The Qdrant Java client uses the GRPC interface at port 6334.
Resolves #331
Comment From: Anush008
The filters are yet to support IN and NIN operations. Javadoc to be added.
Comment From: tzolov
@Anush008 thank you for the valuable contribution! I will review it shortly.
Comment From: tzolov
Great job @Anush008 ! thank you for the contribution.
Rebased, squashed and following additional changes made: - Fix poms parent to 0.8.1-SNAPSHOT. - Rename ObjectFactory into QdrantObjectFactor. - Rename ValueFactory into QdrantValueFactory. - Move the org.springframework.ai.vectorstore package into org.springframework.ai.vectorstore.qdrant. - Add missing Autoconfigure definition. - Add missing license and JavaDocs. - Minor code style improvmentes. - Move the qdrant version to the main pom - Add QdrantVectorStoreAutoConfigurationIT - Remove guava dependency - Improve gdrant.adoc conent and structure. - Remove the grpc-protobuf dependency
Merged at ea0b439dacf30c6a6d7bb9cd06f26d098eb66aff
Comment From: Anush008
πππππ