fix(core): Fix tool name check in name_dict for PydanticToolsParser #33479
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.
model_config
in aBaseModel
, the{"type": <tool_name>}
value is derived from the title specified inmodel_config
when the results are parsed here. However, tool.name uses the class name (in uppercase) of theBaseModel
, resulting in aKeyError
when a custom title is provided inmodel_config
.The Best Solution will be to use the title provided in
model_config
attribute if provided one since that is whattype
will be parsed to, if not then usetool.__name__
. But need to make sure that this works only for Pydantic V2.with_structured_output
on ChatAnthropic #27260