semantic-kernel icon indicating copy to clipboard operation
semantic-kernel copied to clipboard

Adding Chroma to Semantic Kernel

Open tawalke opened this issue 2 years ago • 1 comments

Motivation and Context

Please help reviewers and future users, providing the following information:

  1. Why is this change required? Add Chroma DB vector database into the Semantic Kernel

  2. What problem does it solve? Adding Chroma DB vector database to persist Memory with Semantic Kernel

  3. What scenario does it contribute to? Persistence Memory

  4. If it fixes an open issue, please link to the issue here. N/A

Description

Currently this is not validated against a Chroma Service, but provides this base level functionality for Chroma vector DB. Upon creation of a ChromaDB server for validation slight changes may need to be made. Please review with the view for SK syntax and correctness. Notes to consider:

  • Chroma does not currently have default batch features outside of core add, will review upon server implementation options. if repeating Add API will be sufficient.
  • Chroma leverages an embedding function with search, will review upon server implementation if leaving this out of REST call still provides the correct Nearest search. This will be implemented with this PR shortly as validated against server.
  • Server stand-up and validation is in progress.

Contribution Checklist

  • [ ] 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
  • [ ] All unit tests pass, and I have added new tests where possible
  • [ X] I didn't break anyone :smile:

tawalke avatar Apr 27 '23 15:04 tawalke

@tawalke make sure the dotnet-format is passing and publish this when it is ready for folks to review.

lemillermicrosoft avatar May 10 '23 16:05 lemillermicrosoft

This PR is in draft, @dmytrostruk per our conversation. I'm going to close it and it can be resubmitted.

tawalke avatar Jun 12 '23 20:06 tawalke