__init__.py — langchain Source File
Architecture documentation for __init__.py, a python file in the langchain codebase. 9 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR ae916d82_a9cb_64ec_ef59_5dfca41c9732["__init__.py"] 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 923d222e_e249_1c30_4cfe_3c907f050b78["langchain_core._import_utils"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> 923d222e_e249_1c30_4cfe_3c907f050b78 87a7e59a_c218_0854_8192_d59035f1c4b0["langchain_core.language_models._utils"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> 87a7e59a_c218_0854_8192_d59035f1c4b0 a2ee9dce_2c05_f65f_71c7_74ac415394d8["langchain_core.language_models.base"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> a2ee9dce_2c05_f65f_71c7_74ac415394d8 2312f229_c199_ac88_c29f_62e2a2958404["langchain_core.language_models.chat_models"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> 2312f229_c199_ac88_c29f_62e2a2958404 e64d87a5_a799_d1b7_53ff_02476794ee20["langchain_core.language_models.fake"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> e64d87a5_a799_d1b7_53ff_02476794ee20 833aeadc_c3e9_bfcf_db07_ecb37ad3ba24["langchain_core.language_models.fake_chat_models"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> 833aeadc_c3e9_bfcf_db07_ecb37ad3ba24 89934eed_a823_2184_acf2_039f48eed5f9["langchain_core.language_models.llms"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> 89934eed_a823_2184_acf2_039f48eed5f9 cb319e4e_a6d4_5fa2_777b_9f966424a8b3["langchain_core.language_models.model_profile"] ae916d82_a9cb_64ec_ef59_5dfca41c9732 --> cb319e4e_a6d4_5fa2_777b_9f966424a8b3 style ae916d82_a9cb_64ec_ef59_5dfca41c9732 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Core language model abstractions.
LangChain has two main classes to work with language models: chat models and
"old-fashioned" LLMs (string-in, string-out).
**Chat models**
Language models that use a sequence of messages as inputs and return chat messages
as outputs (as opposed to using plain text).
Chat models support the assignment of distinct roles to conversation messages, helping
to distinguish messages from the AI, users, and instructions such as system messages.
The key abstraction for chat models is
[`BaseChatModel`][langchain_core.language_models.BaseChatModel]. Implementations should
inherit from this class.
See existing [chat model integrations](https://docs.langchain.com/oss/python/integrations/chat).
**LLMs (legacy)**
Language models that takes a string as input and returns a string.
These are traditionally older models (newer models generally are chat models).
Although the underlying models are string in, string out, the LangChain wrappers also
allow these models to take messages as input. This gives them the same interface as
chat models. When messages are passed in as input, they will be formatted into a string
under the hood before being passed to the underlying model.
"""
from typing import TYPE_CHECKING
from langchain_core._import_utils import import_attr
from langchain_core.language_models._utils import is_openai_data_block
if TYPE_CHECKING:
from langchain_core.language_models.base import (
BaseLanguageModel,
LangSmithParams,
LanguageModelInput,
LanguageModelLike,
LanguageModelOutput,
get_tokenizer,
)
from langchain_core.language_models.chat_models import (
BaseChatModel,
SimpleChatModel,
)
from langchain_core.language_models.fake import FakeListLLM, FakeStreamingListLLM
from langchain_core.language_models.fake_chat_models import (
FakeListChatModel,
FakeMessagesListChatModel,
GenericFakeChatModel,
ParrotFakeChatModel,
)
from langchain_core.language_models.llms import LLM, BaseLLM
from langchain_core.language_models.model_profile import (
ModelProfile,
ModelProfileRegistry,
)
__all__ = (
"LLM",
"BaseChatModel",
"BaseLLM",
"BaseLanguageModel",
"FakeListChatModel",
"FakeListLLM",
"FakeMessagesListChatModel",
"FakeStreamingListLLM",
"GenericFakeChatModel",
"LangSmithParams",
"LanguageModelInput",
"LanguageModelLike",
"LanguageModelOutput",
"ModelProfile",
"ModelProfileRegistry",
"ParrotFakeChatModel",
"SimpleChatModel",
"get_tokenizer",
"is_openai_data_block",
)
_dynamic_imports = {
"BaseLanguageModel": "base",
"LangSmithParams": "base",
"LanguageModelInput": "base",
"LanguageModelLike": "base",
"LanguageModelOutput": "base",
"get_tokenizer": "base",
"BaseChatModel": "chat_models",
"SimpleChatModel": "chat_models",
"FakeListLLM": "fake",
"FakeStreamingListLLM": "fake",
"FakeListChatModel": "fake_chat_models",
"FakeMessagesListChatModel": "fake_chat_models",
"GenericFakeChatModel": "fake_chat_models",
"ParrotFakeChatModel": "fake_chat_models",
"LLM": "llms",
"ModelProfile": "model_profile",
"ModelProfileRegistry": "model_profile",
"BaseLLM": "llms",
"is_openai_data_block": "_utils",
}
def __getattr__(attr_name: str) -> object:
module_name = _dynamic_imports.get(attr_name)
result = import_attr(attr_name, module_name, __spec__.parent)
globals()[attr_name] = result
return result
def __dir__() -> list[str]:
return list(__all__)
Domain
Subdomains
Functions
Dependencies
- langchain_core._import_utils
- langchain_core.language_models._utils
- langchain_core.language_models.base
- langchain_core.language_models.chat_models
- langchain_core.language_models.fake
- langchain_core.language_models.fake_chat_models
- langchain_core.language_models.llms
- langchain_core.language_models.model_profile
- typing
Source
Frequently Asked Questions
What does __init__.py do?
__init__.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 __init__.py?
__init__.py defines 3 function(s): __dir__, __getattr__, langchain_core.
What does __init__.py depend on?
__init__.py imports 9 module(s): langchain_core._import_utils, langchain_core.language_models._utils, langchain_core.language_models.base, langchain_core.language_models.chat_models, langchain_core.language_models.fake, langchain_core.language_models.fake_chat_models, langchain_core.language_models.llms, langchain_core.language_models.model_profile, and 1 more.
Where is __init__.py in the architecture?
__init__.py is located at libs/core/langchain_core/language_models/__init__.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