mirror of
https://github.com/microsoft/semantic-kernel.git
synced 2026-10-12 02:19:06 +00:00
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? Brings parity to python implementation 2. What problem does it solve? With the pgvector extension, Postgres is a viable option for the storing of embeddings for memory in Semantic Kernel. The C# implementation is already capable of this, but the feature has yet to be added to python. 3. What scenario does it contribute to? Additional options for memory storage 4. If it fixes an open issue, please link to the issue here. --> ### Description Implemention of the MemoryStore to use a Postgresql (with pgvector extension) to resolve #1270 Taking a different approach from the .net implementation: Collections as postgres schemas as opposed to collection being another column in the table, willing to change to match but would love to have a discussion comparing the options. ### 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 😄 --------- Co-authored-by: Dmytro Struk <[email protected]> Co-authored-by: Shawn Callegari <[email protected]> Co-authored-by: Abby Harrison <[email protected]> Co-authored-by: Abby Harrison <[email protected]>