test_fake_chat_model.py — langchain Source File
Architecture documentation for test_fake_chat_model.py, a python file in the langchain codebase. 9 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 3060b45b_972c_0f85_6806_0f295df4d7ef["test_fake_chat_model.py"] 436f77bc_653d_0edb_555c_c2679d5a59ac["itertools"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 436f77bc_653d_0edb_555c_c2679d5a59ac 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 8dfa0cac_d802_3ccd_f710_43a5e70da3a5["uuid"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 8dfa0cac_d802_3ccd_f710_43a5e70da3a5 7e64d143_ea36_1c73_4897_1d0ae1757b5b["langchain_core.callbacks.base"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 7e64d143_ea36_1c73_4897_1d0ae1757b5b d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> d758344f_537f_649e_f467_b9d7442e86df ac2a9b92_4484_491e_1b48_ec85e71e1d58["langchain_core.outputs"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> ac2a9b92_4484_491e_1b48_ec85e71e1d58 91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 91721f45_4909_e489_8c1f_084f8bd87145 28442c0b_15db_9749_e71f_8fb95692f0f9["tests.unit_tests.llms.fake_chat_model"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 28442c0b_15db_9749_e71f_8fb95692f0f9 976459c4_64fe_1c12_ea56_0f244a6a8dbc["tests.unit_tests.stubs"] 3060b45b_972c_0f85_6806_0f295df4d7ef --> 976459c4_64fe_1c12_ea56_0f244a6a8dbc style 3060b45b_972c_0f85_6806_0f295df4d7ef fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Tests for verifying that testing utility code works as expected."""
from itertools import cycle
from typing import Any
from uuid import UUID
from langchain_core.callbacks.base import AsyncCallbackHandler
from langchain_core.messages import AIMessage, AIMessageChunk, BaseMessage
from langchain_core.outputs import ChatGenerationChunk, GenerationChunk
from typing_extensions import override
from tests.unit_tests.llms.fake_chat_model import GenericFakeChatModel
from tests.unit_tests.stubs import _AnyIdAIMessage, _AnyIdAIMessageChunk
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 == _AnyIdAIMessage(content="hello")
response = model.invoke("kitty")
assert response == _AnyIdAIMessage(content="goodbye")
response = model.invoke("meow")
assert response == _AnyIdAIMessage(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 == _AnyIdAIMessage(content="hello")
response = await model.ainvoke("kitty")
assert response == _AnyIdAIMessage(content="goodbye")
response = await model.ainvoke("meow")
assert response == _AnyIdAIMessage(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 == [
_AnyIdAIMessageChunk(content="hello"),
_AnyIdAIMessageChunk(content=" "),
_AnyIdAIMessageChunk(content="goodbye", chunk_position="last"),
]
chunks = list(model.stream("meow"))
assert chunks == [
_AnyIdAIMessageChunk(content="hello"),
_AnyIdAIMessageChunk(content=" "),
_AnyIdAIMessageChunk(content="goodbye", chunk_position="last"),
]
// ... (147 more lines)
Domain
Subdomains
Functions
Classes
Dependencies
- itertools
- langchain_core.callbacks.base
- langchain_core.messages
- langchain_core.outputs
- tests.unit_tests.llms.fake_chat_model
- tests.unit_tests.stubs
- 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 5 function(s): test_callback_handlers, 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 9 module(s): itertools, langchain_core.callbacks.base, langchain_core.messages, langchain_core.outputs, tests.unit_tests.llms.fake_chat_model, tests.unit_tests.stubs, typing, typing_extensions, and 1 more.
Where is test_fake_chat_model.py in the architecture?
test_fake_chat_model.py is located at libs/langchain/tests/unit_tests/llms/test_fake_chat_model.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/langchain/tests/unit_tests/llms).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free