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: Clarification on Helper Functions for Independent Memory Connectors #9754

Open
azaddhirajkumar opened this issue Nov 19, 2024 · 2 comments
Assignees
Labels
.NET Issue or Pull requests regarding .NET code

Comments

@azaddhirajkumar
Copy link

I am building an independent memory connector for Couchbase following the contributing guidelines in this repository. The documentation mentions that any memory connector should be developed as separate plugin. However, I noticed that some essential helper functions (e.g., those in the Data folder like VectorStoreRecordPropertyReader) are tightly coupled with your project and are not included in the published NuGet packages.

The link to the files I'm talking about:

https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/InternalUtilities/src/Data/VectorStoreErrorHandler.cs
https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/InternalUtilities/src/Data/VectorStoreRecordMapping.cs
https://github.com/microsoft/semantic-kernel/blob/main/dotnet/src/InternalUtilities/src/Data/VectorStoreRecordPropertyReader.cs

However, since they are unavailable in the NuGet package, I am unsure whether I should:

  1. Copy these methods from the repo directly into my project.
  2. Rely on another package (if available).

Also, do we have any other memory connector that is built as an external plugin for reference?

@markwallace-microsoft markwallace-microsoft added .NET Issue or Pull requests regarding .NET code triage labels Nov 19, 2024
@github-actions github-actions bot changed the title Clarification on Helper Functions for Independent Memory Connectors .Net: Clarification on Helper Functions for Independent Memory Connectors Nov 19, 2024
@dmytrostruk
Copy link
Member

@azaddhirajkumar Thanks for your question!

Yes, at the moment, we are using these helper classes internally only, so if you want to re-use them, you can copy these methods in your own implementation. In the future we could make them public, so it will be possible to use them directly.

Also, do we have any other memory connector that is built as an external plugin for reference?

At the moment I'm not aware about publicly available external memory connectors, but I think there will be some implemented in the future. If that would be the case, we will leave the links in our documentation.

Let us know when your connector will be available, it would be great to learn more about it and your experience in its development. Thanks again!

@azaddhirajkumar
Copy link
Author

@dmytrostruk Thank you for the clarification and for taking the time to respond!

Since there are no publicly available external memory connectors yet, I was wondering if it might be possible to contribute Couchbase support directly to the Semantic Kernel repository. I believe this approach could benefit the community by ensuring alignment with existing guidelines and providing a centralized option. I’d love to explore this way of contributing, if it aligns with your vision.

Please let me know your thoughts!

Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
.NET Issue or Pull requests regarding .NET code
Projects
Status: No status
Development

No branches or pull requests

4 participants