Repository navigation
Milvus: add the MEVD provider - #77
Open
Overvolted wants to merge 1 commit into
Open
Overvolted wants to merge 1 commit into
Overvolted wants to merge 1 commit into
Conversation
Add the Milvus.Client-backed package, typed and dynamic collections, scalar and array filtering, vector and BM25 hybrid search, dependency injection, documentation, and unit and conformance tests. Co-authored-by: Federico Laurianti <laurianti@gmail.com>
Author
|
@dotnet-policy-service agree |
This branch has not been deployed
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.
Adds
CommunityToolkit.VectorData.Milvus, the Milvus provider proposed in #76, withMEVD/test/Milvus.UnitTestsandMEVD/test/Milvus.ConformanceTests. It follows the layout of the Qdrant provider and builds on Milvus.Client 2.6.0. It needs Milvus 2.6.The conformance tests start
milvusdb/milvus:v2.6.25with Testcontainers.Milvus, so themevd.ymlmatrix picks them up. Every shared suite runs. The overrides assertNotSupportedExceptionfor what Milvus does not have: ordering, models without vectors, and the distance functions other than cosine, dot product, Euclidean and squared Euclidean. The conformance project targets .NET 10 only: on .NET Framework, Milvus.Client needs TLS, and the test container uses plaintext gRPC. The README says what .NET Framework needs.The tests of full-text indexing and hybrid search mirror the collection definitions of the Semantic Kernel
TextSearchStoreand of the Agent FrameworkChatHistoryMemoryProvider, which mark their text as full-text indexed.Co-authored by @Laurianti
Related: microsoft/semantic-kernel#12509, microsoft/semantic-kernel#13391, milvus-io/milvus-sdk-csharp#102.
Fixes #76