test_function_calling.py — langchain Source File
Architecture documentation for test_function_calling.py, a python file in the langchain codebase. 11 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR da0f8ed8_d171_2261_73ba_79c0d7cc1c45["test_function_calling.py"] 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7 120e2591_3e15_b895_72b6_cb26195e40a6["pytest"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 120e2591_3e15_b895_72b6_cb26195e40a6 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7 91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 91721f45_4909_e489_8c1f_084f8bd87145 fdba230d_a403_6744_bc5b_7eb58b19f200["importlib.metadata"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> fdba230d_a403_6744_bc5b_7eb58b19f200 4e1b1c3b_a825_6d90_8484_f45a18e7a581["packaging.version"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 4e1b1c3b_a825_6d90_8484_f45a18e7a581 d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> d758344f_537f_649e_f467_b9d7442e86df 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c 43d88577_548b_2248_b01b_7987bae85dcc["langchain_core.tools"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> 43d88577_548b_2248_b01b_7987bae85dcc a6f93333_6d02_5473_677b_843422594588["langchain_core.utils.function_calling"] da0f8ed8_d171_2261_73ba_79c0d7cc1c45 --> a6f93333_6d02_5473_677b_843422594588 style da0f8ed8_d171_2261_73ba_79c0d7cc1c45 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import typing
from collections.abc import Callable, Iterable, Mapping, MutableMapping, Sequence
from typing import Annotated as ExtensionsAnnotated
from typing import (
Any,
Literal,
TypeAlias,
)
from typing import TypedDict as TypingTypedDict
import pytest
from pydantic import BaseModel as BaseModelV2Maybe # pydantic: ignore
from pydantic import Field as FieldV2Maybe # pydantic: ignore
from typing_extensions import TypedDict as ExtensionsTypedDict
try:
from typing import Annotated as TypingAnnotated
except ImportError:
TypingAnnotated = ExtensionsAnnotated
from importlib.metadata import version
from packaging.version import parse
from pydantic import BaseModel, Field
from langchain_core.messages import AIMessage, HumanMessage, ToolMessage
from langchain_core.runnables import Runnable, RunnableLambda
from langchain_core.tools import BaseTool, StructuredTool, Tool, tool
from langchain_core.utils.function_calling import (
_convert_typed_dict_to_openai_function,
convert_to_json_schema,
convert_to_openai_function,
tool_example_to_messages,
)
@pytest.fixture
def pydantic() -> type[BaseModel]:
class dummy_function(BaseModel): # noqa: N801
"""Dummy function."""
arg1: int = Field(..., description="foo")
arg2: Literal["bar", "baz"] = Field(..., description="one of 'bar', 'baz'")
return dummy_function
@pytest.fixture
def annotated_function() -> Callable:
def dummy_function(
arg1: ExtensionsAnnotated[int, "foo"],
arg2: ExtensionsAnnotated[Literal["bar", "baz"], "one of 'bar', 'baz'"],
) -> None:
"""Dummy function."""
return dummy_function
@pytest.fixture
// ... (1152 more lines)
Domain
Subdomains
Functions
- TypingAnnotated()
- annotated_function()
- anthropic_tool()
- bedrock_converse_tool()
- dummy_extensions_typed_dict()
- dummy_extensions_typed_dict_docstring()
- dummy_pydantic()
- dummy_pydantic_v2()
- dummy_structured_tool()
- dummy_structured_tool_args_schema_dict()
- dummy_tool()
- dummy_typing_typed_dict()
- dummy_typing_typed_dict_docstring()
- function()
- function_docstring_annotations()
- json_schema()
- pydantic()
- runnable()
- test__convert_typed_dict_to_openai_function()
- test__convert_typed_dict_to_openai_function_fail()
- test_convert_to_json_schema()
- test_convert_to_openai_function()
- test_convert_to_openai_function_json_schema_missing_title_includes_schema()
- test_convert_to_openai_function_json_schema_missing_title_properties()
- test_convert_to_openai_function_json_schema_missing_title_with_type()
- test_convert_to_openai_function_nested()
- test_convert_to_openai_function_nested_strict()
- test_convert_to_openai_function_nested_strict_2()
- test_convert_to_openai_function_nested_v2()
- test_convert_to_openai_function_no_args()
- test_convert_to_openai_function_no_description()
- test_convert_to_openai_function_no_description_no_params()
- test_convert_to_openai_function_strict_defaults()
- test_convert_to_openai_function_strict_required()
- test_convert_to_openai_function_strict_union_of_objects_arg_type()
- test_convert_union_type()
- test_function_no_params()
- test_function_optional_param()
- test_multiple_tool_calls()
- test_tool_outputs()
- test_valid_example_conversion()
- typing()
Classes
Dependencies
- collections.abc
- importlib.metadata
- langchain_core.messages
- langchain_core.runnables
- langchain_core.tools
- langchain_core.utils.function_calling
- packaging.version
- pydantic
- pytest
- typing
- typing_extensions
Source
Frequently Asked Questions
What does test_function_calling.py do?
test_function_calling.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, Serialization subdomain.
What functions are defined in test_function_calling.py?
test_function_calling.py defines 42 function(s): TypingAnnotated, annotated_function, anthropic_tool, bedrock_converse_tool, dummy_extensions_typed_dict, dummy_extensions_typed_dict_docstring, dummy_pydantic, dummy_pydantic_v2, dummy_structured_tool, dummy_structured_tool_args_schema_dict, and 32 more.
What does test_function_calling.py depend on?
test_function_calling.py imports 11 module(s): collections.abc, importlib.metadata, langchain_core.messages, langchain_core.runnables, langchain_core.tools, langchain_core.utils.function_calling, packaging.version, pydantic, and 3 more.
Where is test_function_calling.py in the architecture?
test_function_calling.py is located at libs/core/tests/unit_tests/utils/test_function_calling.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/core/tests/unit_tests/utils).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free