Home / File/ base.py — langchain Source File

base.py — langchain Source File

Architecture documentation for base.py, a python file in the langchain codebase. 15 imports, 0 dependents.

File python CoreAbstractions Serialization 15 imports 6 functions 2 classes

Entity Profile

Dependency Diagram

graph LR
  d2346df7_0af9_9808_4af4_3dbe3daa01f5["base.py"]
  0c635125_6987_b8b3_7ff7_d60249aecde7["warnings"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 0c635125_6987_b8b3_7ff7_d60249aecde7
  cccbe73e_4644_7211_4d55_e8fb133a8014["abc"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> cccbe73e_4644_7211_4d55_e8fb133a8014
  cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7
  c990f2d7_9509_7cea_ca95_51ad57dbe5c6["functools"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> c990f2d7_9509_7cea_ca95_51ad57dbe5c6
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7
  91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 91721f45_4909_e489_8c1f_084f8bd87145
  e51e78c8_f355_3edd_309e_1aec4323616a["langchain_core.caches"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> e51e78c8_f355_3edd_309e_1aec4323616a
  f3bc7443_c889_119d_0744_aacc3620d8d2["langchain_core.callbacks"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> f3bc7443_c889_119d_0744_aacc3620d8d2
  85390fd0_d51c_6478_9be2_2d6a9c15d720["langchain_core.globals"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 85390fd0_d51c_6478_9be2_2d6a9c15d720
  d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> d758344f_537f_649e_f467_b9d7442e86df
  5b417886_56dd_6afa_13ab_a3cfc1dbcccd["langchain_core.prompt_values"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 5b417886_56dd_6afa_13ab_a3cfc1dbcccd
  2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c
  ac2a9b92_4484_491e_1b48_ec85e71e1d58["langchain_core.outputs"]
  d2346df7_0af9_9808_4af4_3dbe3daa01f5 --> ac2a9b92_4484_491e_1b48_ec85e71e1d58
  style d2346df7_0af9_9808_4af4_3dbe3daa01f5 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

"""Base language models class."""

from __future__ import annotations

import warnings
from abc import ABC, abstractmethod
from collections.abc import Callable, Mapping, Sequence
from functools import cache
from typing import (
    TYPE_CHECKING,
    Any,
    Literal,
    TypeAlias,
    TypeVar,
    cast,
)

from pydantic import BaseModel, ConfigDict, Field, field_validator
from typing_extensions import TypedDict, override

from langchain_core.caches import BaseCache  # noqa: TC001
from langchain_core.callbacks import Callbacks  # noqa: TC001
from langchain_core.globals import get_verbose
from langchain_core.messages import (
    AIMessage,
    AnyMessage,
    BaseMessage,
    MessageLikeRepresentation,
    get_buffer_string,
)
from langchain_core.prompt_values import (
    ChatPromptValueConcrete,
    PromptValue,
    StringPromptValue,
)
from langchain_core.runnables import Runnable, RunnableSerializable

if TYPE_CHECKING:
    from langchain_core.outputs import LLMResult

try:
    from transformers import GPT2TokenizerFast  # type: ignore[import-not-found]

    _HAS_TRANSFORMERS = True
except ImportError:
    _HAS_TRANSFORMERS = False


class LangSmithParams(TypedDict, total=False):
    """LangSmith parameters for tracing."""

    ls_provider: str
    """Provider of the model."""

    ls_model_name: str
    """Name of the model."""

    ls_model_type: Literal["chat", "llm"]
    """Type of the model.

// ... (314 more lines)

Subdomains

Dependencies

  • abc
  • collections.abc
  • functools
  • langchain_core.caches
  • langchain_core.callbacks
  • langchain_core.globals
  • langchain_core.messages
  • langchain_core.outputs
  • langchain_core.prompt_values
  • langchain_core.runnables
  • pydantic
  • transformers
  • typing
  • typing_extensions
  • warnings

Frequently Asked Questions

What does base.py do?
base.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 base.py?
base.py defines 6 function(s): _HAS_TRANSFORMERS, _get_token_ids_default_method, _get_verbosity, get_tokenizer, langchain_core, transformers.
What does base.py depend on?
base.py imports 15 module(s): abc, collections.abc, functools, langchain_core.caches, langchain_core.callbacks, langchain_core.globals, langchain_core.messages, langchain_core.outputs, and 7 more.
Where is base.py in the architecture?
base.py is located at libs/core/langchain_core/language_models/base.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/core/langchain_core/language_models).

Analyze Your Own Codebase

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

Try Supermodel Free