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

DRAFT: AIPlugin, SKFunctionResult and InputWithType attributes

Open shawncal opened this issue 2 years ago • 1 comments

Description

Filling out the attributes required to fully describe a skill and its functions for 2 applications:

  • Publishing SK Skills AI (ChatGPT) Plugins -- REST microservices, documented with OpenAPI Specs
  • Describing function inputs and results, often comprising complex json object return types, coming from REST functions, GRPC functions, and AI plugins registered to the kernel.

DRAFT: Open for comments. Naming? Preferences between a large attribute with many required properties, vs many small attributes (that are all still "required")?

Input and Result attribute type modeled after OpenApiResponseWithBodyAttribute and its parent class OpenApiPayloadAttribute.

Contribution Checklist

  • [ ] The code builds clean without any errors or warnings
  • [ ] The PR follows SK Contribution Guidelines (https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md)
  • [ ] 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
  • [ ] I didn't break anyone :smile:

shawncal avatar Apr 26 '23 09:04 shawncal

@dluc @SergeyMenshykh this is the code associated with dev doc shared last week. I'm not committed to any naming or even the number of attributes -- only that the properties exposed therein are required for both publishing and using AI Plugins and other OpenAPI-derived functions. One option, if we don't want the AI Plugins attributes in the core kernel, would be to package them in another extension package. Can you please take a look, and let me know what you think?

shawncal avatar Apr 26 '23 09:04 shawncal

no feedback. Closing PR. Reassigning to Engineering for a final design, implementation and PR.

shawncal avatar May 02 '23 22:05 shawncal