-
Notifications
You must be signed in to change notification settings - Fork 4k
.Net: [MEVD] Added GetService and Metadata for vector store abstractions #11055
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.Net: [MEVD] Added GetService and Metadata for vector store abstractions #11055
Conversation
dotnet/src/Connectors/VectorData.Abstractions/VectorSearch/VectorizedSearchMetadata.cs
Outdated
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorData.Abstractions.csproj
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorSearch/VectorizedSearchMetadata.cs
Outdated
Show resolved
Hide resolved
...t/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStoreRecordCollection.cs
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/IVectorStore.cs
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/IVectorStore.cs
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/IVectorStore.cs
Show resolved
Hide resolved
...t/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStoreRecordCollection.cs
Show resolved
Hide resolved
...t/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStoreRecordCollection.cs
Show resolved
Hide resolved
…/semantic-kernel into vector-data-metadata
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/IVectorStoreRecordCollection.cs
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM after comments are addressed, thanks @dmytrostruk!
dotnet/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStore.cs
Show resolved
Hide resolved
dotnet/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStore.cs
Show resolved
Hide resolved
...t/src/Connectors/Connectors.Memory.AzureAISearch/AzureAISearchVectorStoreRecordCollection.cs
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/VectorStoreMetadata.cs
Outdated
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/VectorStoreMetadata.cs
Outdated
Show resolved
Hide resolved
dotnet/src/Connectors/Connectors.Memory.MongoDB/MongoDBVectorStoreRecordCollection.cs
Outdated
Show resolved
Hide resolved
dotnet/src/Connectors/Connectors.Memory.Pinecone/PineconeVectorStore.cs
Outdated
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/VectorStoreMetadata.cs
Show resolved
Hide resolved
dotnet/src/Connectors/VectorData.Abstractions/VectorStorage/IVectorStoreRecordCollection.cs
Outdated
Show resolved
Hide resolved
dotnet/src/Connectors/Connectors.Memory.Postgres/PostgresVectorStoreUtils.cs
Outdated
Show resolved
Hide resolved
f77e266
into
microsoft:feature-vector-data-preb2
@dmytrostruk I think we're missing extensions over the new GetService(), as in MEAI. This can be added later without breaking, but I do want to at least make sure you have it tracked somewhere? It's also pretty trivial in case you just want to submit a PR and fix it. |
|
||
Assert.NotNull(collectionMetadata); | ||
Assert.NotNull(collectionMetadata.VectorStoreSystemName); | ||
Assert.NotNull(collectionMetadata.VectorStoreName); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This fails for e.g. Weaviate, where there's no VectorStoreName (I guess we're not running these integration tests in CI?).
Motivation and Context
Related: #11013
This PR marks
IVectorStoreRecordCollection.CollectionName
property as obsolete in favor ofMetadata
classes andGetService
method (the approach which is also used in MEAI).GetService
method is added to each vector store interface and each implementation is updated to returnMetadata
classes or underlying services used for breaking-glass scenarios. (Note: this is a breaking change for already existing implementations, since newGetService
method should be implemented).The changes allow to:
CollectionName
, but other properties likeVectorStoreName
,DatabaseName
and any other potential properties in the future. These properties are going to be used in telemetry decorators, which will be implemented in separate PR.@westey-m @roji
Contribution Checklist