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

Revise Embedding types' IsSupported and add vector ownership ctor #1093

Merged
merged 1 commit into from May 20, 2023

Conversation

stephentoub
Copy link
Member

Motivation and Context

Fixes #568

Description

Consolidate IsSupported to just being on the static Embedding type. And add a ctor to Embedding that allows transferring an array rather than copying it, then use that ctor in a bunch of places where we deserialize a vector and then immediately hand it off to an embedding. (I think subsequently we should think about getting rid of this ctor and just having the single ctor store rather than copy the original... I don't think the semi-immutability buys us much here.)

Contribution Checklist

@github-actions github-actions bot added .NET Issue or Pull requests regarding .NET code kernel Issues or pull requests impacting the core kernel kernel.core labels May 19, 2023
@lemillermicrosoft lemillermicrosoft added the PR: ready for review All feedback addressed, ready for reviews label May 19, 2023
Copy link
Member

@lemillermicrosoft lemillermicrosoft left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Added @awharrison-28 for additional review.

Consolidate IsSupported to just being on the static Embedding type. And add a ctor to Embedding that allows transferring an array rather than copying it, then use that ctor in a bunch of places where we deserialize a vector and then immediately hand it off to an embedding. (I think subsequently we should think about getting rid of this ctor and just having the single ctor store rather than copy the original... I don't think the semi-immutability buys us much here.)
@shawncal shawncal merged commit 1dfba51 into microsoft:main May 20, 2023
18 checks passed
shawncal pushed a commit to shawncal/semantic-kernel that referenced this pull request Jul 6, 2023
…crosoft#1093)

### Motivation and Context

Fixes microsoft#568

### Description

Consolidate IsSupported to just being on the static Embedding type. And
add a ctor to Embedding that allows transferring an array rather than
copying it, then use that ctor in a bunch of places where we deserialize
a vector and then immediately hand it off to an embedding. (I think
subsequently we should think about getting rid of this ctor and just
having the single ctor store rather than copy the original... I don't
think the semi-immutability buys us much here.)

### Contribution Checklist
<!-- Before submitting this PR, please make sure: -->
- [x] The code builds clean without any errors or warnings
- [x] The PR follows SK Contribution Guidelines
(https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
- [x] The code follows the .NET coding conventions
(https://learn.microsoft.com/dotnet/csharp/fundamentals/coding-style/coding-conventions)
verified with `dotnet format`
- [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 Issues or pull requests impacting the core kernel .NET Issue or Pull requests regarding .NET code PR: ready for review All feedback addressed, ready for reviews
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Suggested tweaks to Embedding types
4 participants