Home / File/ test_function_calling.py — langchain Source File

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.

File python CoreAbstractions Serialization 11 imports 42 functions 15 classes

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)

Subdomains

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

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