-
Notifications
You must be signed in to change notification settings - Fork 2.8k
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鈥檒l occasionally send you account related emails.
Already on GitHub? Sign in to your account
Import gRPC skills #730
Import gRPC skills #730
Conversation
I'm new to SK and just learning its architecture and looking for learning opportunities to question my asumptions. I was curious if it might make sense to separate this into a skill and a connector. For example, the OperationRunner would represent a skill that's leveraging a gRPC connector. By packaging the entire piece into a skill, I'm wondering if that might make the overall use less extensible or confusing to users who are setting connection properties for a skill or trying to connect to gRPC and not finding a connector. |
As an example, consider dotnet/src/SemanticKernel/Connectors/WebApi/Rest/RestApiOperationRunner.cs which is a REST connector and has its "OperationRunner" as a connector. My impression as a user would be to expect that other connector protocols would follow suit. The OpenAI skill, for example, makes use of the REST OperationRunner as a connector in /dotnet/src/Skills/Skills.OpenAPI/Extensions/KernelOpenApiExtensions.cs. |
@cchighman Good observation. If I understand, you're referring more to the the packaging (nuget) and namespacing than the actual architecture. Reason for the different approach:
Thoughts for @SergeyMenshykh
Sound good to you @cchighman? Thanks for the great observation! |
Merge to feature-grpc branch |
Motivation and Context
This change adds functionality required for gRPC skills import to Kernel allowing SK SDK client code to register and use gRPC skills in SK SDK.
Description
This change adds a few ImportGrpc* Kernel extension methods that can import gRPC skills from a folder or a file. Additionality, GrpcOperationRunner is changed to accept gRPC request message as JSON and return the gRPC method result as JSON as well.
Contribution Checklist
dotnet format