Skip to content

.Net: Add qdrant vector record store implementation#6904

Merged
westey-m merged 6 commits intomicrosoft:feature-memory-servicefrom
westey-m:generic-vector-store-adr-qdrant-record
Jun 24, 2024
Merged

.Net: Add qdrant vector record store implementation#6904
westey-m merged 6 commits intomicrosoft:feature-memory-servicefrom
westey-m:generic-vector-store-adr-qdrant-record

Conversation

@westey-m
Copy link
Copy Markdown
Contributor

Motivation and Context

As part of the evolution of memory connectors, we need to support custom data models and remove opinionated behaviors, so adding a new record store implementation for qdrant.

Description

Adding an implementation for IVectorRecordStore for qdrant with support for:

Custom mappers
Generic data models
Annotating data models via attributes or via definition objects.
Also improving some styling in the AzureAISearch implementation.

See #6525

Contribution Checklist

@westey-m westey-m requested a review from a team as a code owner June 21, 2024 16:44
@markwallace-microsoft markwallace-microsoft added .NET Issue or Pull requests regarding .NET code kernel Issues or pull requests impacting the core kernel memory labels Jun 21, 2024
@github-actions github-actions Bot changed the title Add qdrant vector record store implementation .Net: Add qdrant vector record store implementation Jun 21, 2024
@westey-m westey-m merged commit dd95621 into microsoft:feature-memory-service Jun 24, 2024
westey-m added a commit that referenced this pull request Jun 24, 2024
### Motivation and Context

As part of the evolution of memory connectors, we need to support custom
data models and remove opinionated behaviors, so adding a new record
store implementation for qdrant.

### Description

Adding an implementation for IVectorRecordStore for qdrant with support
for:

Custom mappers
Generic data models
Annotating data models via attributes or via definition objects.
Also improving some styling in the AzureAISearch implementation.

See #6525

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
@timheuer
Copy link
Copy Markdown
Member

I see that this still has the QdrantVectorDbClient implementation here that uses the HTTP endpoint...is that retained for back-compat? If so, is the idea it would be marked [Obsolete] preferring to use the new record store?

@roji
Copy link
Copy Markdown
Member

roji commented Jun 27, 2024

@dmytrostruk thanks for doing this! Reimplementing the IMemoryStore implementation over Qdrant.Client has been on my TODO list for a while now...

@dmytrostruk
Copy link
Copy Markdown
Member

@dmytrostruk thanks for doing this! Reimplementing the IMemoryStore implementation over Qdrant.Client has been on my TODO list for a while now...

@roji All kudos to @westey-m , I'm just a reviewer here :)

@roji
Copy link
Copy Markdown
Member

roji commented Jun 28, 2024

Ah OK @dmytrostruk :) Thanks @westey-m then :)

westey-m added a commit that referenced this pull request Jul 5, 2024
### Motivation and Context

As part of the evolution of memory connectors, we need to support custom
data models and remove opinionated behaviors, so adding a new record
store implementation for qdrant.

### Description

Adding an implementation for IVectorRecordStore for qdrant with support
for:

Custom mappers
Generic data models
Annotating data models via attributes or via definition objects.
Also improving some styling in the AzureAISearch implementation.

See #6525

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
westey-m added a commit that referenced this pull request Jul 25, 2024
### Motivation and Context

As part of the evolution of memory connectors, we need to support custom
data models and remove opinionated behaviors, so adding a new record
store implementation for qdrant.

### Description

Adding an implementation for IVectorRecordStore for qdrant with support
for:

Custom mappers
Generic data models
Annotating data models via attributes or via definition objects.
Also improving some styling in the AzureAISearch implementation.

See #6525

### Contribution Checklist

<!-- Before submitting this PR, please make sure: -->

- [X] The code builds clean without any errors or warnings
- [X] The PR follows the [SK Contribution
Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
and the [pre-submission formatting
script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts)
raises no violations
- [X] All unit tests pass, and I have added new tests where possible
- [X] I didn't break anyone 😄
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kernel.core kernel Issues or pull requests impacting the core kernel memory .NET Issue or Pull requests regarding .NET code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants