WIP: fix(huggingface): add Pydantic structured output support (Issue #32197) #33141
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 draft PR begins addressing #32197 (Support structured output with Pydantic models in langchain-huggingface).
Currently,
ChatHuggingFace.with_structured_output
converts Pydantic schemas into JSON Schema and parses into dicts.PydanticOutputParser
is not utilized, leading to dict outputs and extra token usage on retries.What’s included
is_basemodel_subclass
).PydanticOutputParser
when schema is Pydantic andmethod="json_schema"
.json_mode
.function_calling
with Pydantic continues to raiseNotImplementedError
.Next steps (planned)
libs/partners/huggingface/tests/unit_tests/
for:include_raw=True
path.xfail
Pydantic-related integration tests once validated.Notes
Opening early for review to validate direction before completing test coverage and unskipping integration tests.