test_fake_chat_model.py — langchain Source File
Architecture documentation for test_fake_chat_model.py, a python file in the langchain codebase. 10 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 4784eef6_843d_c364_829c_0d49a0b0eaa3["test_fake_chat_model.py"] 0c1d9a1b_c553_0388_dbc1_58af49567aa2["time"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 0c1d9a1b_c553_0388_dbc1_58af49567aa2 436f77bc_653d_0edb_555c_c2679d5a59ac["itertools"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 436f77bc_653d_0edb_555c_c2679d5a59ac 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 8dfa0cac_d802_3ccd_f710_43a5e70da3a5["uuid"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 8dfa0cac_d802_3ccd_f710_43a5e70da3a5 91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 91721f45_4909_e489_8c1f_084f8bd87145 7e64d143_ea36_1c73_4897_1d0ae1757b5b["langchain_core.callbacks.base"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 7e64d143_ea36_1c73_4897_1d0ae1757b5b ba43b74d_3099_7e1c_aac3_cf594720469e["langchain_core.language_models"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> ba43b74d_3099_7e1c_aac3_cf594720469e d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> d758344f_537f_649e_f467_b9d7442e86df ac2a9b92_4484_491e_1b48_ec85e71e1d58["langchain_core.outputs"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> ac2a9b92_4484_491e_1b48_ec85e71e1d58 976459c4_64fe_1c12_ea56_0f244a6a8dbc["tests.unit_tests.stubs"] 4784eef6_843d_c364_829c_0d49a0b0eaa3 --> 976459c4_64fe_1c12_ea56_0f244a6a8dbc style 4784eef6_843d_c364_829c_0d49a0b0eaa3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Tests for verifying that testing utility code works as expected."""
import time
from itertools import cycle
from typing import Any, cast
from uuid import UUID
from typing_extensions import override
from langchain_core.callbacks.base import AsyncCallbackHandler
from langchain_core.language_models import (
FakeListChatModel,
FakeMessagesListChatModel,
GenericFakeChatModel,
ParrotFakeChatModel,
)
from langchain_core.messages import AIMessage, AIMessageChunk, BaseMessage, HumanMessage
from langchain_core.outputs import ChatGenerationChunk, GenerationChunk
from tests.unit_tests.stubs import (
_any_id_ai_message,
_any_id_ai_message_chunk,
_any_id_human_message,
)
def test_generic_fake_chat_model_invoke() -> None:
# Will alternate between responding with hello and goodbye
infinite_cycle = cycle([AIMessage(content="hello"), AIMessage(content="goodbye")])
model = GenericFakeChatModel(messages=infinite_cycle)
response = model.invoke("meow")
assert response == _any_id_ai_message(content="hello")
response = model.invoke("kitty")
assert response == _any_id_ai_message(content="goodbye")
response = model.invoke("meow")
assert response == _any_id_ai_message(content="hello")
async def test_generic_fake_chat_model_ainvoke() -> None:
# Will alternate between responding with hello and goodbye
infinite_cycle = cycle([AIMessage(content="hello"), AIMessage(content="goodbye")])
model = GenericFakeChatModel(messages=infinite_cycle)
response = await model.ainvoke("meow")
assert response == _any_id_ai_message(content="hello")
response = await model.ainvoke("kitty")
assert response == _any_id_ai_message(content="goodbye")
response = await model.ainvoke("meow")
assert response == _any_id_ai_message(content="hello")
async def test_generic_fake_chat_model_stream() -> None:
"""Test streaming."""
infinite_cycle = cycle(
[
AIMessage(content="hello goodbye"),
]
)
model = GenericFakeChatModel(messages=infinite_cycle)
chunks = [chunk async for chunk in model.astream("meow")]
assert chunks == [
_any_id_ai_message_chunk(content="hello"),
// ... (196 more lines)
Domain
Subdomains
Functions
Classes
Dependencies
- itertools
- langchain_core.callbacks.base
- langchain_core.language_models
- langchain_core.messages
- langchain_core.outputs
- tests.unit_tests.stubs
- time
- typing
- typing_extensions
- uuid
Source
Frequently Asked Questions
What does test_fake_chat_model.py do?
test_fake_chat_model.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_fake_chat_model.py?
test_fake_chat_model.py defines 8 function(s): test_callback_handlers, test_chat_model_inputs, test_fake_list_chat_model_batch, test_fake_messages_list_chat_model_sleep_delay, test_generic_fake_chat_model_ainvoke, test_generic_fake_chat_model_astream_log, test_generic_fake_chat_model_invoke, test_generic_fake_chat_model_stream.
What does test_fake_chat_model.py depend on?
test_fake_chat_model.py imports 10 module(s): itertools, langchain_core.callbacks.base, langchain_core.language_models, langchain_core.messages, langchain_core.outputs, tests.unit_tests.stubs, time, typing, and 2 more.
Where is test_fake_chat_model.py in the architecture?
test_fake_chat_model.py is located at libs/core/tests/unit_tests/fake/test_fake_chat_model.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/core/tests/unit_tests/fake).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free