Home / File/ test_base.py — langchain Source File

test_base.py — langchain Source File

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

File python CoreAbstractions MessageSchema 8 imports 6 functions

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)

Subdomains

Dependencies

  • langchain_classic.chat_models.base
  • langchain_core.language_models
  • langchain_core.prompts
  • langchain_core.runnables
  • os
  • pydantic
  • pytest
  • unittest

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