mirror of
https://github.com/hwchase17/langchain
synced 2024-11-10 01:10:59 +00:00
core[patch]: exclude special pydantic init params (#25084)
This commit is contained in:
parent
63ddf0afb4
commit
e572521f2a
@ -1664,6 +1664,10 @@ def _get_all_basemodel_annotations(
|
||||
if isinstance(cls, type):
|
||||
annotations: Dict[str, Type] = {}
|
||||
for name, param in inspect.signature(cls).parameters.items():
|
||||
# Exclude hidden init args added by pydantic Config. For example if
|
||||
# BaseModel(extra="allow") then "extra_data" will part of init sig.
|
||||
if (fields := getattr(cls, "__fields__", {})) and name not in fields:
|
||||
continue
|
||||
annotations[name] = param.annotation
|
||||
orig_bases: Tuple = getattr(cls, "__orig_bases__", tuple())
|
||||
# cls has subscript: cls = FooBar[int]
|
||||
|
@ -1751,11 +1751,11 @@ def test__get_all_basemodel_annotations_v2(use_v1_namespace: bool) -> None:
|
||||
|
||||
if use_v1_namespace:
|
||||
|
||||
class ModelA(BaseModel, Generic[A]):
|
||||
class ModelA(BaseModel, Generic[A], extra="allow"):
|
||||
a: A
|
||||
else:
|
||||
|
||||
class ModelA(BaseModelProper, Generic[A]): # type: ignore[no-redef]
|
||||
class ModelA(BaseModelProper, Generic[A], extra="allow"): # type: ignore[no-redef]
|
||||
a: A
|
||||
|
||||
class ModelB(ModelA[str]):
|
||||
@ -1812,7 +1812,7 @@ def test__get_all_basemodel_annotations_v2(use_v1_namespace: bool) -> None:
|
||||
def test__get_all_basemodel_annotations_v1() -> None:
|
||||
A = TypeVar("A")
|
||||
|
||||
class ModelA(BaseModel, Generic[A]):
|
||||
class ModelA(BaseModel, Generic[A], extra="allow"):
|
||||
a: A
|
||||
|
||||
class ModelB(ModelA[str]):
|
||||
|
@ -285,10 +285,7 @@ class ChatModelIntegrationTests(ChatModelTests):
|
||||
assert isinstance(chunk, dict) # for mypy
|
||||
assert set(chunk.keys()) == {"setup", "punchline"}
|
||||
|
||||
def test_tool_message_histories_string_content(
|
||||
self,
|
||||
model: BaseChatModel,
|
||||
) -> None:
|
||||
def test_tool_message_histories_string_content(self, model: BaseChatModel) -> None:
|
||||
"""
|
||||
Test that message histories are compatible with string tool contents
|
||||
(e.g. OpenAI).
|
||||
|
Loading…
Reference in New Issue
Block a user