Fix streamed list of union basemodels #1141
Closed
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.
Fixes Pydantic ValidationError when streaming model with a list of unions of basemodels.
Example:
Before:
After:
Closes #1140
Important
Fixes Pydantic ValidationError for streaming models with lists of unions of BaseModels by updating
_make_field_optional()
ininstructor/dsl/partial.py
.instructor/dsl/partial.py
.None
to Union options and sets default toNone
in_make_field_optional()
._process_annotation()
to handle nested annotations, especially for Union types._make_field_optional()
to handle Union types and other generics correctly.Union
ininstructor/dsl/partial.py
.This description was created by for 481d881. It will automatically update as commits are pushed.