-
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’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
.Net: Removing internal HttpRetry Abstraction and Implementation #2281
.Net: Removing internal HttpRetry Abstraction and Implementation #2281
Conversation
Pausing this PR due to its impact, until after next nuget release. Please continue to review and apply changes -- just don't merge! |
@SergeyMenshykh any thoughts or concerns here? Possible conflicts with error handling plans? |
I welcome the idea of minimizing SK SDK API surface and removing all infra code that is not related to SK SDK domain. I don't see and conflicts with error handling. |
So now there will be no retry handling by default? That seems like a big change that will have negative impact in developer and user experience. |
dotnet/src/SemanticKernel.Abstractions/Reliability/DefaultHttpRetryHandlerFactory.cs
Show resolved
Hide resolved
dotnet/src/SemanticKernel.Abstractions/Reliability/NullHttpHandler.cs
Outdated
Show resolved
Hide resolved
dotnet/samples/KernelSyntaxExamples/Example22_OpenApiSkill_AzureKeyVault.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sorry for the random comments.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very concerned about this removal without a replacement that doesn't require the user to copy code from our KernelSyntaxExamples project. This feels like it should be a core concept of SK and helping users leverage LLMs.
At minimum, there should be an ADR to make sure the various SDK flavors are aligned on expectations going forward.
Approving though to remove my blocking review.
https://platform.openai.com/docs/guides/rate-limits/retrying-with-exponential-backoff
https://api.python.langchain.com/en/latest/_modules/langchain/llms/openai.html#completion_with_retry
Closing this in favor of PR #2656 |
Motivation and Context
Reduce the responsibility surface of Semantic Kernel regarding Resiliency implementations, keeping only the abstractions that can be delegated and handling by well know resiliency libraries and custom implementations.
Resolves #2271
Closes #2271
Description
This change removes and deprecates the usage of Retry implementations in our Resiliency namespace with
NullHttpHandlerFactory
implementations.Changed our examples using Polly Handlers to handle most common retrial scenarios.
Contribution Checklist