fix(core): filter v__args field when function has args parameter#1
Open
LincolnBurrows2017 wants to merge 3 commits intomasterfrom
Open
fix(core): filter v__args field when function has args parameter#1LincolnBurrows2017 wants to merge 3 commits intomasterfrom
LincolnBurrows2017 wants to merge 3 commits intomasterfrom
Conversation
When a function parameter is named 'args', Pydantic v2 adds a virtual field called 'v__args' to handle the naming conflict. This field was not being filtered out, causing spurious fields to appear in the tool's args schema. This commit adds filtering for the 'v__args' field in create_schema_from_function, similar to how 'v__duplicate_kwargs' is already handled. Also adds a test case to verify the fix.
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.
Summary
When a function parameter is named
args, Pydantic v2 adds a virtual field calledv__argsto handle the naming conflict. This field was not being filtered out, causing spurious fields to appear in the tool's args schema.This PR adds filtering for the
v__argsfield increate_schema_from_function, similar to howv__duplicate_kwargsis already handled.Changes
v__argsfield inlibs/core/langchain_core/tools/base.pylibs/core/tests/unit_tests/test_tools.pyDisclaimer: This contribution was made with assistance from an AI agent.