Skip to content

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

Merged
shawncal merged 1 commit intomicrosoft:mainfrom
stephentoub:embeddings
May 20, 2023
Merged

Revise Embedding types' IsSupported and add vector ownership ctor#1093
shawncal merged 1 commit intomicrosoft:mainfrom
stephentoub:embeddings

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