Configure Gemini retrieval thinking and per-URL deadlines - #1216
Merged
Merged
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.
Linked issue
Closes #1215. Follow-up to merged #1212. Related test-only fix: #1214.
What changes
URL retrieval defaults to
gemini-3.5-flashwith minimal thinking and a 10-second provider-request deadline per URL. A timeout returns a failed row while other rows complete in their original order. Default retries change from one to zero.thinking_levelandrequest_timeout_secondsin Python and the recipe schema. Python callers can explicitly choose a larger window.GenerateContentConfigoptions through keyword arguments, including SDK aliases. URL tools, formatting, system instructions and HTTP settings remain managed by the wrapper; use the corresponding explicit parameters.google-genai>=1.64.0; document model-specific thinking defaults, overrides and deadline behavior.tests/test_lookup_variants.pytopytest-local.ini, correcting an omission on main that otherwise fails the local-suite inventory check. No lookup runtime behavior changes.Flash-Lite is not the default: the live JSON checks did not pass. This PR does not change deployment configuration.
How it was verified
Offline validation
git diff --checkpassed. One commit, 11 files, zero commits behind main at publication.Live Google checks, direct local Python with SDK 2.25.0
No WranglesXL/Lambda execution or deployment of this commit was performed. GitHub checks for this PR must complete before review.
Compatibility and risk
Existing arguments and result shapes are retained. Custom retrieval clients receive new controls only when explicitly supplied. The model, thinking, retry and timeout defaults change; slow pages can now fail sooner.
minimaldoes not guarantee zero reasoning tokens.Each URL's request deadline begins when its worker starts; queued batches can take longer, and client initialization/cancellation/cleanup add overhead. A larger Python timeout does not extend an external runner's limit; the verified development Lambda limit is 30 seconds.
The default remains configurable. Revert this commit and promote the corresponding package to roll back all behavior changes. After merge, the updated Python package must be promoted to the development Lambda before XL uses it.
#1214 is not a runtime or branch dependency. Merging that test-only fix first is recommended to remove the unrelated live-search exact-count failure risk before final CI validation.
Ready-for-review checklist
mainand has no merge conflictsSee the pull request workflow.