Home / Function/ _create_subset_model_v1() — langchain Function Reference

_create_subset_model_v1() — langchain Function Reference

Architecture documentation for the _create_subset_model_v1() function in pydantic.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  be84588b_f856_ce85_d06d_41150def9337["_create_subset_model_v1()"]
  892b1d9f_bb87_0364_19af_71382204e430["pydantic.py"]
  be84588b_f856_ce85_d06d_41150def9337 -->|defined in| 892b1d9f_bb87_0364_19af_71382204e430
  be84588b_f856_ce85_d06d_41150def9337["_create_subset_model_v1()"]
  be84588b_f856_ce85_d06d_41150def9337 -->|calls| be84588b_f856_ce85_d06d_41150def9337
  b0860ec1_de71_8597_62af_8ca59b0ea27b["_create_subset_model()"]
  b0860ec1_de71_8597_62af_8ca59b0ea27b -->|calls| be84588b_f856_ce85_d06d_41150def9337
  be84588b_f856_ce85_d06d_41150def9337["_create_subset_model_v1()"]
  be84588b_f856_ce85_d06d_41150def9337 -->|calls| be84588b_f856_ce85_d06d_41150def9337
  style be84588b_f856_ce85_d06d_41150def9337 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/utils/pydantic.py lines 202–228

def _create_subset_model_v1(
    name: str,
    model: type[BaseModelV1],
    field_names: list,
    *,
    descriptions: dict | None = None,
    fn_description: str | None = None,
) -> type[BaseModelV1]:
    """Create a Pydantic model with only a subset of model's fields."""
    fields = {}

    for field_name in field_names:
        # Using pydantic v1 so can access __fields__ as a dict.
        field = model.__fields__[field_name]
        t = (
            # this isn't perfect but should work for most functions
            field.outer_type_
            if field.required and not field.allow_none
            else field.outer_type_ | None
        )
        if descriptions and field_name in descriptions:
            field.field_info.description = descriptions[field_name]
        fields[field_name] = (t, field.field_info)

    rtn = cast("type[BaseModelV1]", create_model_v1(name, **fields))  # type: ignore[call-overload]
    rtn.__doc__ = textwrap.dedent(fn_description or model.__doc__ or "")
    return rtn

Domain

Subdomains

Frequently Asked Questions

What does _create_subset_model_v1() do?
_create_subset_model_v1() is a function in the langchain codebase, defined in libs/core/langchain_core/utils/pydantic.py.
Where is _create_subset_model_v1() defined?
_create_subset_model_v1() is defined in libs/core/langchain_core/utils/pydantic.py at line 202.
What does _create_subset_model_v1() call?
_create_subset_model_v1() calls 1 function(s): _create_subset_model_v1.
What calls _create_subset_model_v1()?
_create_subset_model_v1() is called by 2 function(s): _create_subset_model, _create_subset_model_v1.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free