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

Http consistency: OpenAPI skills #1521

Conversation

SergeyMenshykh
Copy link
Member

Motivation, Context, and Description

  1. In some cases, OpenAPI documents imported as OpenAPI skills or ChatGPT plugins may be malformed or non-compliant. However, they can still be processed and imported, even with minor differences from OpenAPI specification. To enable the import of these documents, the OpenAPI functionality error handling has been relaxed. Instead of halting the entire operation, parsing errors in the OpenAPI documents are skipped and logged.
  2. The HTTP stack for OpenAPI skills aligned with connectors by offering two options:
    • using the internal SK HTTP client using provided configuration during Kernel building.
    • accepting a custom/external HTTP client, giving hosting applications/client code the freedom to use their own instance.

Contribution Checklist

@github-actions github-actions bot added .NET Issue or Pull requests regarding .NET code kernel Issues or pull requests impacting the core kernel samples labels Jun 16, 2023
@SergeyMenshykh SergeyMenshykh added the PR: ready for review All feedback addressed, ready for reviews label Jun 16, 2023
@lemillermicrosoft lemillermicrosoft linked an issue Jun 16, 2023 that may be closed by this pull request
@lemillermicrosoft lemillermicrosoft added PR: breaking change Pull requests that introduce breaking changes and removed PR: breaking change Pull requests that introduce breaking changes labels Jun 16, 2023
@shawncal shawncal force-pushed the relax-openapi-parsing-error-check branch from 42b8b7e to b7f3a02 Compare June 16, 2023 16:53
2. Propagating the IgnoreNonCompliantErrors flag to all ImportOpenAPI* and ImportChatGpt* extension methods.
@shawncal shawncal force-pushed the relax-openapi-parsing-error-check branch from e772d93 to d7f3f62 Compare June 16, 2023 20:49
@lemillermicrosoft lemillermicrosoft added the PR: breaking change Pull requests that introduce breaking changes label Jun 16, 2023
@SergeyMenshykh SergeyMenshykh requested review from a team as code owners June 19, 2023 19:12
@lemillermicrosoft lemillermicrosoft added this pull request to the merge queue Jun 20, 2023
Merged via the queue into microsoft:main with commit b9b9804 Jun 20, 2023
10 checks passed
@SergeyMenshykh SergeyMenshykh linked an issue Jun 20, 2023 that may be closed by this pull request
@evchaki evchaki added this to the Sprint 33 milestone Jun 30, 2023
shawncal pushed a commit to shawncal/semantic-kernel that referenced this pull request Jul 6, 2023
### Motivation, Context, and Description
1. In some cases, OpenAPI documents imported as OpenAPI skills or
ChatGPT plugins may be malformed or non-compliant. However, they can
still be processed and imported, even with minor differences from
OpenAPI specification. To enable the import of these documents, the
OpenAPI functionality error handling has been relaxed. Instead of
halting the entire operation, parsing errors in the OpenAPI documents
are skipped and logged.
2. The HTTP stack for OpenAPI skills aligned with connectors by offering
two options:
- using the internal SK HTTP client using provided configuration during
Kernel building.
- accepting a custom/external HTTP client, giving hosting
applications/client code the freedom to use their own instance.

### 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: Lee Miller <lemiller@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kernel Issues or pull requests impacting the core kernel .NET Issue or Pull requests regarding .NET code PR: breaking change Pull requests that introduce breaking changes PR: ready for review All feedback addressed, ready for reviews
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Fix HttpClient usage for OpenAPI skills Semantic Kernel needs a consistent story around HttpClient
3 participants