Anthropic IncompleteOutputException was never triggered for tools and JSON modes #848
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.
The
parse_anthropic_tools
andparse_anthropic_json
code tries to do amodel_validate_json
which fails to parse when the output was interrupted due tomax_tokens
being reached.The proposed change checks for
max_tokens
in the completion object before attempting to parse, and raises the correct exception, which will be then re-raised correctly at from_response given that it's not aValueError
anymore.Summary:
Fixes
IncompleteOutputException
not being triggered forparse_anthropic_tools
andparse_anthropic_json
whenmax_tokens
is reached.Key points:
instructor/function_calls.py
parse_anthropic_tools
,parse_anthropic_json
max_tokens
incompletion
object.IncompleteOutputException
ifcompletion.stop_reason
ismax_tokens
.Generated with ❤️ by ellipsis.dev