test_base.py — langchain Source File
Architecture documentation for test_base.py, a python file in the langchain codebase. 8 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR f12905cd_4b82_78e3_8763_20c94912a930["test_base.py"] 9e98f0a7_ec6e_708f_4f1b_e9428b316e1c["os"] f12905cd_4b82_78e3_8763_20c94912a930 --> 9e98f0a7_ec6e_708f_4f1b_e9428b316e1c 6ebcaae2_3bc1_badf_b751_e164ff2776c4["unittest"] f12905cd_4b82_78e3_8763_20c94912a930 --> 6ebcaae2_3bc1_badf_b751_e164ff2776c4 120e2591_3e15_b895_72b6_cb26195e40a6["pytest"] f12905cd_4b82_78e3_8763_20c94912a930 --> 120e2591_3e15_b895_72b6_cb26195e40a6 ba43b74d_3099_7e1c_aac3_cf594720469e["langchain_core.language_models"] f12905cd_4b82_78e3_8763_20c94912a930 --> ba43b74d_3099_7e1c_aac3_cf594720469e e6b4f61e_7b98_6666_3641_26b069517d4a["langchain_core.prompts"] f12905cd_4b82_78e3_8763_20c94912a930 --> e6b4f61e_7b98_6666_3641_26b069517d4a 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"] f12905cd_4b82_78e3_8763_20c94912a930 --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"] f12905cd_4b82_78e3_8763_20c94912a930 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7 7070a07a_e84d_7ed0_4f0a_9831438449cb["langchain_classic.chat_models.base"] f12905cd_4b82_78e3_8763_20c94912a930 --> 7070a07a_e84d_7ed0_4f0a_9831438449cb style f12905cd_4b82_78e3_8763_20c94912a930 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import os
from unittest import mock
import pytest
from langchain_core.language_models import BaseChatModel
from langchain_core.prompts import ChatPromptTemplate
from langchain_core.runnables import RunnableConfig, RunnableSequence
from pydantic import SecretStr
from langchain_classic.chat_models.base import __all__, init_chat_model
EXPECTED_ALL = [
"BaseChatModel",
"SimpleChatModel",
"agenerate_from_stream",
"generate_from_stream",
"init_chat_model",
]
def test_all_imports() -> None:
assert set(__all__) == set(EXPECTED_ALL)
@pytest.mark.requires(
"langchain_openai",
"langchain_anthropic",
"langchain_fireworks",
"langchain_groq",
)
@pytest.mark.parametrize(
("model_name", "model_provider"),
[
("gpt-4o", "openai"),
("claude-opus-4-1", "anthropic"),
("accounts/fireworks/models/mixtral-8x7b-instruct", "fireworks"),
("mixtral-8x7b-32768", "groq"),
],
)
def test_init_chat_model(model_name: str, model_provider: str | None) -> None:
llm1: BaseChatModel = init_chat_model(
model_name,
model_provider=model_provider,
api_key="foo",
)
llm2: BaseChatModel = init_chat_model(
f"{model_provider}:{model_name}",
api_key="foo",
)
assert llm1.dict() == llm2.dict()
def test_init_missing_dep() -> None:
with pytest.raises(ImportError):
init_chat_model("mixtral-8x7b-32768", model_provider="groq")
def test_init_unknown_provider() -> None:
with pytest.raises(ValueError, match="Unsupported model_provider='bar'"):
init_chat_model("foo", model_provider="bar")
// ... (229 more lines)
Domain
Subdomains
Functions
Dependencies
- langchain_classic.chat_models.base
- langchain_core.language_models
- langchain_core.prompts
- langchain_core.runnables
- os
- pydantic
- pytest
- unittest
Source
Frequently Asked Questions
What does test_base.py do?
test_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 test_base.py?
test_base.py defines 6 function(s): test_all_imports, test_configurable, test_configurable_with_default, test_init_chat_model, test_init_missing_dep, test_init_unknown_provider.
What does test_base.py depend on?
test_base.py imports 8 module(s): langchain_classic.chat_models.base, langchain_core.language_models, langchain_core.prompts, langchain_core.runnables, os, pydantic, pytest, unittest.
Where is test_base.py in the architecture?
test_base.py is located at libs/langchain/tests/unit_tests/chat_models/test_base.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/langchain/tests/unit_tests/chat_models).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free