fix(vision): surface actual error reason instead of generic message#1038
Closed
ygd58 wants to merge 1 commit into
Closed
fix(vision): surface actual error reason instead of generic message#1038ygd58 wants to merge 1 commit into
ygd58 wants to merge 1 commit into
Conversation
b6ad688 to
722806e
Compare
When vision_analyze_tool fails, the except block was returning a generic 'could not be analyzed' message that gave the agent no actionable information about the failure cause. Replace the generic message with the actual exception string so the agent can distinguish between backend errors, missing dependencies, network failures, and unsupported image paths. Also add an 'error' field to the failure response for structured error handling by callers. Fixes NousResearch#1034
89b29fe to
7ee4bd4
Compare
Contributor
|
Merged via #1338. I cherry-picked your structured vision error-field change onto current main so failed responses now expose a top-level field in addition to the existing analysis text. |
Contributor
|
Merged via #1338. I cherry-picked your structured vision error-field change onto current main so failed vision_analyze_tool responses now expose a top-level |
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.
Problem
When
vision_analyze_toolfails, the response only containedsuccess: falseand ananalysisstring with the error embedded in prose. The agent had no structured field to inspect the failure reason programmatically.Fixes #1034
Change
Add
"error": error_msgto the failure response dict invision_analyze_tool.Before:
{"success": false, "analysis": "There was a problem... Error: <reason>"} After: {"success": false, "error": "Error analyzing image: <reason>", "analysis": "..."} The agent can now check result["error"] directly instead of parsing prose. Note: provider fallback and retry are handled upstream by async_call_llm in auxiliary_client.py. Tests 42 tests passing (test_vision_tools.py)