test_generic_fake_chat_model_stream() — langchain Function Reference
Architecture documentation for the test_generic_fake_chat_model_stream() function in test_fake_chat_model.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD 800cadbf_8f8c_e45f_8b3e_70ce7284ff53["test_generic_fake_chat_model_stream()"] 06318702_96e4_1032_1475_4dde8fe1f643["test_fake_chat_model.py"] 800cadbf_8f8c_e45f_8b3e_70ce7284ff53 -->|defined in| 06318702_96e4_1032_1475_4dde8fe1f643 style 800cadbf_8f8c_e45f_8b3e_70ce7284ff53 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
libs/core/tests/unit_tests/fake/test_fake_chat_model.py lines 50–141
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"),
_any_id_ai_message_chunk(content=" "),
_any_id_ai_message_chunk(content="goodbye", chunk_position="last"),
]
assert len({chunk.id for chunk in chunks}) == 1
chunks = list(model.stream("meow"))
assert chunks == [
_any_id_ai_message_chunk(content="hello"),
_any_id_ai_message_chunk(content=" "),
_any_id_ai_message_chunk(content="goodbye", chunk_position="last"),
]
assert len({chunk.id for chunk in chunks}) == 1
# Test streaming of additional kwargs.
# Relying on insertion order of the additional kwargs dict
message = AIMessage(content="", additional_kwargs={"foo": 42, "bar": 24})
model = GenericFakeChatModel(messages=cycle([message]))
chunks = [chunk async for chunk in model.astream("meow")]
assert chunks == [
_any_id_ai_message_chunk(content="", additional_kwargs={"foo": 42}),
_any_id_ai_message_chunk(content="", additional_kwargs={"bar": 24}),
_any_id_ai_message_chunk(content="", chunk_position="last"),
]
assert len({chunk.id for chunk in chunks}) == 1
message = AIMessage(
content="",
additional_kwargs={
"function_call": {
"name": "move_file",
"arguments": '{\n "source_path": "foo",\n "'
'destination_path": "bar"\n}',
}
},
)
model = GenericFakeChatModel(messages=cycle([message]))
chunks = [chunk async for chunk in model.astream("meow")]
assert chunks == [
_any_id_ai_message_chunk(
content="",
additional_kwargs={"function_call": {"name": "move_file"}},
),
_any_id_ai_message_chunk(
content="",
additional_kwargs={
"function_call": {"arguments": '{\n "source_path": "foo"'},
},
),
_any_id_ai_message_chunk(
content="", additional_kwargs={"function_call": {"arguments": ","}}
),
_any_id_ai_message_chunk(
content="",
additional_kwargs={
"function_call": {"arguments": '\n "destination_path": "bar"\n}'},
},
),
_any_id_ai_message_chunk(content="", chunk_position="last"),
]
assert len({chunk.id for chunk in chunks}) == 1
accumulate_chunks = None
for chunk in chunks:
if accumulate_chunks is None:
accumulate_chunks = chunk
else:
accumulate_chunks += chunk
assert accumulate_chunks == AIMessageChunk(
Domain
Subdomains
Source
Frequently Asked Questions
What does test_generic_fake_chat_model_stream() do?
test_generic_fake_chat_model_stream() is a function in the langchain codebase, defined in libs/core/tests/unit_tests/fake/test_fake_chat_model.py.
Where is test_generic_fake_chat_model_stream() defined?
test_generic_fake_chat_model_stream() is defined in libs/core/tests/unit_tests/fake/test_fake_chat_model.py at line 50.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free