Skip to content
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: Moving VectorStore abstractions and VolatileVectorStore #9207

Merged
merged 6 commits into from
Oct 11, 2024

Conversation

westey-m
Copy link
Contributor

Motivation and Context

VectorStore abstractions are being abstracted into a separate library to allow database creators to more easily implement their own implementations. Since the package is targeted, it is easier to take a dependency on.

The volatile vector store naming has been confusing for some, so renaming to InMemory. It also brings additional dependencies to SK.Core which is undesirable so moving it to its own package to avoid this.

#8953
#9094

Description

  • Move VectorStore abstractions to new Microsoft.Extensions.VectorData.Abstractions package.
  • Obsolete VolatileVectorStore implementation in Microsoft.SemanticKernel.Core.
  • Add new Microsoft.SemanticKernel.Connectors.InMemory package with InMemoryVectorStore

Contribution Checklist

westey-m and others added 4 commits October 10, 2024 10:59
### Motivation and Context

This is the first PR in a set of multiple.
We want the vector store abstractions to live in a new package called
Microsoft.Extensions.VectorData.Abstractions
and repoint all implementations to use this new package.

#9094

### Description

- Add the new project and add all requires files to it.
- Files are copied from Microsoft.SemanticKernel.Abstractions with their
namespaces changed and the individual experimental flags removed.

### 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 😄
…t to solution (#9019)

### Motivation and Context

We intend to move the volatile memory store to it's own project and
rename it to InMemory.

### Description

This is the first step of the process and involves creating the
projects.
Also moving all memory unit test projects into a separate solution
folder to simply navigating the solution structure.

### 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 😄

---------

Co-authored-by: Roger Barreto <[email protected]>
…ers to new package (#9189)

### Motivation and Context

This is one PR in a set of multiple.
We want the vector store abstractions to live in a new package called
Microsoft.Extensions.VectorData.Abstractions
and repoint all implementations to use this new package.

### Description

- Removes the vector store abstractions from
Microsoft.SemanticKernel.Abstractions
- Repoints all usages to the new package
Microsoft.Extensions.VectorData.Abstractions

### 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 😄
…9191)

### Motivation and Context

We want to rename VolatileVectorStore to InMemoryVectorStore and move it
to it's own package so that we can reduce the dependency set of SK.Core
and bring it in line with other connectors, plus use a more easy to
understand name.

#8953

### Description

- Copied all VolatileVectorStore classes to the new InMemory project and
renamed to InMemory
- Added obsolete tags to all VolatileVectorStore classes
- Repointed all internal code that used Volatile to use InMemory

### 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 westey-m requested a review from a team as a code owner October 11, 2024 09:23
@markwallace-microsoft markwallace-microsoft added .NET Issue or Pull requests regarding .NET code kernel Issues or pull requests impacting the core kernel kernel.core documentation memory labels Oct 11, 2024
@github-actions github-actions bot changed the title Moving VectorStore abstractions and VolatileVectorStore .Net: Moving VectorStore abstractions and VolatileVectorStore Oct 11, 2024
### Description

Fixing up latest changes from main to match refactoring in branch.

### 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 westey-m added this pull request to the merge queue Oct 11, 2024
Merged via the queue into main with commit dfce021 Oct 11, 2024
18 checks passed
@westey-m westey-m deleted the feature-vectordata-packagemove branch October 11, 2024 10:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation 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.

3 participants