fake_chat_models.py — langchain Source File
Architecture documentation for fake_chat_models.py, a python file in the langchain codebase. 11 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 625e90ff_0acf_2872_ee23_0e50b0ab92ed["fake_chat_models.py"] a327e534_84f6_5308_58ca_5727d5eda0cf["asyncio"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> a327e534_84f6_5308_58ca_5727d5eda0cf 67ec3255_645e_8b6e_1eff_1eb3c648ed95["re"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> 67ec3255_645e_8b6e_1eff_1eb3c648ed95 0c1d9a1b_c553_0388_dbc1_58af49567aa2["time"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> 0c1d9a1b_c553_0388_dbc1_58af49567aa2 cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7["collections.abc"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> cfe2bde5_180e_e3b0_df2b_55b3ebaca8e7 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3["typing"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> 8e2034b7_ceb8_963f_29fc_2ea6b50ef9b3 91721f45_4909_e489_8c1f_084f8bd87145["typing_extensions"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> 91721f45_4909_e489_8c1f_084f8bd87145 f3bc7443_c889_119d_0744_aacc3620d8d2["langchain_core.callbacks"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> f3bc7443_c889_119d_0744_aacc3620d8d2 2312f229_c199_ac88_c29f_62e2a2958404["langchain_core.language_models.chat_models"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> 2312f229_c199_ac88_c29f_62e2a2958404 d758344f_537f_649e_f467_b9d7442e86df["langchain_core.messages"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> d758344f_537f_649e_f467_b9d7442e86df ac2a9b92_4484_491e_1b48_ec85e71e1d58["langchain_core.outputs"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> ac2a9b92_4484_491e_1b48_ec85e71e1d58 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c["langchain_core.runnables"] 625e90ff_0acf_2872_ee23_0e50b0ab92ed --> 2ceb1686_0f8c_8ae0_36d1_7c0b702fda1c style 625e90ff_0acf_2872_ee23_0e50b0ab92ed fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
"""Fake chat models for testing purposes."""
import asyncio
import re
import time
from collections.abc import AsyncIterator, Iterator
from typing import Any, Literal, cast
from typing_extensions import override
from langchain_core.callbacks import (
AsyncCallbackManagerForLLMRun,
CallbackManagerForLLMRun,
)
from langchain_core.language_models.chat_models import BaseChatModel, SimpleChatModel
from langchain_core.messages import AIMessage, AIMessageChunk, BaseMessage
from langchain_core.outputs import ChatGeneration, ChatGenerationChunk, ChatResult
from langchain_core.runnables import RunnableConfig
class FakeMessagesListChatModel(BaseChatModel):
"""Fake chat model for testing purposes."""
responses: list[BaseMessage]
"""List of responses to **cycle** through in order."""
sleep: float | None = None
"""Sleep time in seconds between responses."""
i: int = 0
"""Internally incremented after every model invocation."""
@override
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
if self.sleep is not None:
time.sleep(self.sleep)
response = self.responses[self.i]
if self.i < len(self.responses) - 1:
self.i += 1
else:
self.i = 0
generation = ChatGeneration(message=response)
return ChatResult(generations=[generation])
@property
@override
def _llm_type(self) -> str:
return "fake-messages-list-chat-model"
class FakeListChatModelError(Exception):
"""Fake error for testing purposes."""
class FakeListChatModel(SimpleChatModel):
"""Fake chat model for testing purposes."""
// ... (337 more lines)
Domain
Subdomains
Classes
Dependencies
- asyncio
- collections.abc
- langchain_core.callbacks
- langchain_core.language_models.chat_models
- langchain_core.messages
- langchain_core.outputs
- langchain_core.runnables
- re
- time
- typing
- typing_extensions
Source
Frequently Asked Questions
What does fake_chat_models.py do?
fake_chat_models.py is a source file in the langchain codebase, written in python. It belongs to the CoreAbstractions domain, MessageSchema subdomain.
What does fake_chat_models.py depend on?
fake_chat_models.py imports 11 module(s): asyncio, collections.abc, langchain_core.callbacks, langchain_core.language_models.chat_models, langchain_core.messages, langchain_core.outputs, langchain_core.runnables, re, and 3 more.
Where is fake_chat_models.py in the architecture?
fake_chat_models.py is located at libs/core/langchain_core/language_models/fake_chat_models.py (domain: CoreAbstractions, subdomain: MessageSchema, directory: libs/core/langchain_core/language_models).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free