Home / File/ base.py — langchain Source File

base.py — langchain Source File

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

File python CoreAbstractions MessageSchema 35 imports 5 functions 1 classes

Entity Profile

Dependency Diagram

graph LR
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6["base.py"]
  0c635125_6987_b8b3_7ff7_d60249aecde7["warnings"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 0c635125_6987_b8b3_7ff7_d60249aecde7
  cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7
  3888b2bf_bffe_7c16_770f_a406d400119c["importlib"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 3888b2bf_bffe_7c16_770f_a406d400119c
  8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3
  ba43b74d_3099_7e1c_aac3_cf594720469e["langchain_core.language_models"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> ba43b74d_3099_7e1c_aac3_cf594720469e
  2312f229_c199_ac88_c29f_62e2a2958404["langchain_core.language_models.chat_models"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 2312f229_c199_ac88_c29f_62e2a2958404
  d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> d758344f_537f_649e_f467_b9d7442e86df
  2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c
  2079f0e4_f3be_a6ad_7bb7_1f09a33f1ec3["langchain_core.runnables.schema"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 2079f0e4_f3be_a6ad_7bb7_1f09a33f1ec3
  43d88577_548b_2248_b01b_7987bae85dcc["langchain_core.tools"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 43d88577_548b_2248_b01b_7987bae85dcc
  2b6e6b96_8f94_4170_1803_67a415a5e13a["langchain_core.tracers"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 2b6e6b96_8f94_4170_1803_67a415a5e13a
  6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7
  91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 91721f45_4909_e489_8c1f_084f8bd87145
  0b28cff6_d823_1571_d2bb_ec61508cc89c["langchain_openai"]
  f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 --> 0b28cff6_d823_1571_d2bb_ec61508cc89c
  style f2bfd5e3_62a8_3f9e_12f8_70dde33090b6 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

from __future__ import annotations

import warnings
from collections.abc import AsyncIterator, Callable, Iterator, Sequence
from importlib import util
from typing import Any, Literal, TypeAlias, cast, overload

from langchain_core.language_models import (
    BaseChatModel,
    LanguageModelInput,
    SimpleChatModel,
)
from langchain_core.language_models.chat_models import (
    agenerate_from_stream,
    generate_from_stream,
)
from langchain_core.messages import AIMessage, AnyMessage
from langchain_core.runnables import Runnable, RunnableConfig, ensure_config
from langchain_core.runnables.schema import StreamEvent
from langchain_core.tools import BaseTool
from langchain_core.tracers import RunLog, RunLogPatch
from pydantic import BaseModel
from typing_extensions import override

__all__ = [
    # For backwards compatibility
    "BaseChatModel",
    "SimpleChatModel",
    "agenerate_from_stream",
    "generate_from_stream",
    "init_chat_model",
]


@overload
def init_chat_model(
    model: str,
    *,
    model_provider: str | None = None,
    configurable_fields: None = None,
    config_prefix: str | None = None,
    **kwargs: Any,
) -> BaseChatModel: ...


@overload
def init_chat_model(
    model: None = None,
    *,
    model_provider: str | None = None,
    configurable_fields: None = None,
    config_prefix: str | None = None,
    **kwargs: Any,
) -> _ConfigurableModel: ...


@overload
def init_chat_model(
    model: str | None = None,
    *,
// ... (989 more lines)

Subdomains

Dependencies

  • collections.abc
  • importlib
  • langchain_anthropic
  • langchain_aws
  • langchain_azure_ai.chat_models
  • langchain_cohere
  • langchain_community.chat_models
  • langchain_core.language_models
  • langchain_core.language_models.chat_models
  • langchain_core.messages
  • langchain_core.prompt_values
  • langchain_core.runnables
  • langchain_core.runnables.schema
  • langchain_core.tools
  • langchain_core.tracers
  • langchain_deepseek
  • langchain_fireworks
  • langchain_google_genai
  • langchain_google_vertexai
  • langchain_google_vertexai.model_garden
  • langchain_groq
  • langchain_huggingface
  • langchain_ibm
  • langchain_mistralai
  • langchain_nvidia_ai_endpoints
  • langchain_ollama
  • langchain_openai
  • langchain_perplexity
  • langchain_together
  • langchain_upstage
  • langchain_xai
  • pydantic
  • 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, MessageSchema subdomain.
What functions are defined in base.py?
base.py defines 5 function(s): _attempt_infer_model_provider, _check_pkg, _init_chat_model_helper, _parse_model, init_chat_model.
What does base.py depend on?
base.py imports 35 module(s): collections.abc, importlib, langchain_anthropic, langchain_aws, langchain_azure_ai.chat_models, langchain_cohere, langchain_community.chat_models, langchain_core.language_models, and 27 more.
Where is base.py in the architecture?
base.py is located at libs/langchain/langchain_classic/chat_models/base.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/langchain/langchain_classic/chat_models).

Analyze Your Own Codebase

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

Try Supermodel Free