test_fallbacks.py — langchain Source File
Architecture documentation for test_fallbacks.py, a python file in the langchain codebase. 14 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR d62d478e_a330_c328_7da4_58e88d780807["test_fallbacks.py"] cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"] d62d478e_a330_c328_7da4_58e88d780807 --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] d62d478e_a330_c328_7da4_58e88d780807 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 120e2591_3e15_b895_72b6_cb26195e40a6["pytest"] d62d478e_a330_c328_7da4_58e88d780807 --> 120e2591_3e15_b895_72b6_cb26195e40a6 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7["pydantic"] d62d478e_a330_c328_7da4_58e88d780807 --> 6e58aaea_f08e_c099_3cc7_f9567bfb1ae7 66d6194f_d8c1_55b6_f522_311fdad57877["syrupy.assertion"] d62d478e_a330_c328_7da4_58e88d780807 --> 66d6194f_d8c1_55b6_f522_311fdad57877 91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"] d62d478e_a330_c328_7da4_58e88d780807 --> 91721f45_4909_e489_8c1f_084f8bd87145 f3bc7443_c889_119d_0744_aacc3620d8d2["langchain_core.callbacks"] d62d478e_a330_c328_7da4_58e88d780807 --> f3bc7443_c889_119d_0744_aacc3620d8d2 ba43b74d_3099_7e1c_aac3_cf594720469e["langchain_core.language_models"] d62d478e_a330_c328_7da4_58e88d780807 --> ba43b74d_3099_7e1c_aac3_cf594720469e 36cce5da_d805_04c3_7e86_e1b4dd49b497["langchain_core.load"] d62d478e_a330_c328_7da4_58e88d780807 --> 36cce5da_d805_04c3_7e86_e1b4dd49b497 d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"] d62d478e_a330_c328_7da4_58e88d780807 --> d758344f_537f_649e_f467_b9d7442e86df ac2a9b92_4484_491e_1b48_ec85e71e1d58["langchain_core.outputs"] d62d478e_a330_c328_7da4_58e88d780807 --> ac2a9b92_4484_491e_1b48_ec85e71e1d58 e6b4f61e_7b98_6666_3641_26b069517d4a["langchain_core.prompts"] d62d478e_a330_c328_7da4_58e88d780807 --> e6b4f61e_7b98_6666_3641_26b069517d4a 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"] d62d478e_a330_c328_7da4_58e88d780807 --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c 43d88577_548b_2248_b01b_7987bae85dcc["langchain_core.tools"] d62d478e_a330_c328_7da4_58e88d780807 --> 43d88577_548b_2248_b01b_7987bae85dcc style d62d478e_a330_c328_7da4_58e88d780807 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
from collections.abc import AsyncIterator, Callable, Iterator, Sequence
from typing import (
Any,
)
import pytest
from pydantic import BaseModel
from syrupy.assertion import SnapshotAssertion
from typing_extensions import override
from langchain_core.callbacks import CallbackManagerForLLMRun
from langchain_core.language_models import (
BaseChatModel,
FakeListLLM,
LanguageModelInput,
)
from langchain_core.load import dumps
from langchain_core.messages import AIMessage, BaseMessage
from langchain_core.outputs import ChatResult
from langchain_core.prompts import PromptTemplate
from langchain_core.runnables import (
Runnable,
RunnableBinding,
RunnableGenerator,
RunnableLambda,
RunnableParallel,
RunnablePassthrough,
RunnableWithFallbacks,
)
from langchain_core.tools import BaseTool
@pytest.fixture
def llm() -> RunnableWithFallbacks[Any, Any]:
error_llm = FakeListLLM(responses=["foo"], i=1)
pass_llm = FakeListLLM(responses=["bar"])
return error_llm.with_fallbacks([pass_llm])
@pytest.fixture
def llm_multi() -> RunnableWithFallbacks[Any, Any]:
error_llm = FakeListLLM(responses=["foo"], i=1)
error_llm_2 = FakeListLLM(responses=["baz"], i=1)
pass_llm = FakeListLLM(responses=["bar"])
return error_llm.with_fallbacks([error_llm_2, pass_llm])
@pytest.fixture
def chain() -> Runnable[Any, str]:
error_llm = FakeListLLM(responses=["foo"], i=1)
pass_llm = FakeListLLM(responses=["bar"])
prompt = PromptTemplate.from_template("what did baz say to {buz}")
return RunnableParallel({"buz": lambda x: x}) | (prompt | error_llm).with_fallbacks(
[prompt | pass_llm]
)
// ... (343 more lines)
Domain
Subdomains
Functions
- _agenerate()
- _agenerate_delayed_error()
- _agenerate_immediate_error()
- _assert_potential_error()
- _dont_raise_error()
- _error()
- _generate()
- _generate_delayed_error()
- _generate_immediate_error()
- _raise_error()
- _runnable()
- chain()
- chain_pass_exceptions()
- llm()
- llm_multi()
- test_abatch()
- test_ainvoke_with_exception_key()
- test_batch()
- test_fallbacks()
- test_fallbacks_astream()
- test_fallbacks_async()
- test_fallbacks_getattr()
- test_fallbacks_getattr_runnable_output()
- test_fallbacks_stream()
- test_invoke_with_exception_key()
Dependencies
- collections.abc
- langchain_core.callbacks
- langchain_core.language_models
- langchain_core.load
- langchain_core.messages
- langchain_core.outputs
- langchain_core.prompts
- langchain_core.runnables
- langchain_core.tools
- pydantic
- pytest
- syrupy.assertion
- typing
- typing_extensions
Source
Frequently Asked Questions
What does test_fallbacks.py do?
test_fallbacks.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 test_fallbacks.py?
test_fallbacks.py defines 25 function(s): _agenerate, _agenerate_delayed_error, _agenerate_immediate_error, _assert_potential_error, _dont_raise_error, _error, _generate, _generate_delayed_error, _generate_immediate_error, _raise_error, and 15 more.
What does test_fallbacks.py depend on?
test_fallbacks.py imports 14 module(s): collections.abc, langchain_core.callbacks, langchain_core.language_models, langchain_core.load, langchain_core.messages, langchain_core.outputs, langchain_core.prompts, langchain_core.runnables, and 6 more.
Where is test_fallbacks.py in the architecture?
test_fallbacks.py is located at libs/core/tests/unit_tests/runnables/test_fallbacks.py (domain: CoreAbstractions, subdomain: Serialization, directory: libs/core/tests/unit_tests/runnables).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free