catch exceptions and retries in http transport layer#363
Open
catch exceptions and retries in http transport layer#363
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request improves the robustness and user experience of web search and LLM streaming features by enhancing error handling, providing clearer metadata in responses, and updating related formatting and tests. The most important changes are grouped below:
Web Search Tool Enhancements:
provider,max_results_requested,max_results_used) to theweb_searchtool output and improved the parameter description for clarity. Introduced clamping ofmax_resultsto a safe range (1–10), with a normalization helper function. [1] [2] [3]web_searchtool to return structured error responses with descriptiveerror_typefields for timeouts, HTTP errors, and unexpected exceptions.Error Handling Improvements Across Streaming and LLM Calls:
httpx.RemoteProtocolErroras a transient error (along with timeouts and connection errors), enabling retries and more user-friendly error messages when connections are interrupted. [1] [2] [3] [4] [5] [6]Formatting and Test Updates:
max_resultsin web search summaries and include the provider in result hints for better transparency. [1] [2]