SimpleChatModel Class — langchain Architecture
Architecture documentation for the SimpleChatModel class in chat_models.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD a3ea7a6e_c0f6_2e2b_7c6a_1f7b9fdaa248["SimpleChatModel"] d009a608_c505_bd50_7200_0de8a69ba4b7["BaseChatModel"] a3ea7a6e_c0f6_2e2b_7c6a_1f7b9fdaa248 -->|extends| d009a608_c505_bd50_7200_0de8a69ba4b7 20f4116a_d26d_2a5f_4a10_67af6940e081["chat_models.py"] a3ea7a6e_c0f6_2e2b_7c6a_1f7b9fdaa248 -->|defined in| 20f4116a_d26d_2a5f_4a10_67af6940e081 caa59a4b_5254_7cbf_fa02_f6fb1187d19c["_generate()"] a3ea7a6e_c0f6_2e2b_7c6a_1f7b9fdaa248 -->|method| caa59a4b_5254_7cbf_fa02_f6fb1187d19c 695c0169_144a_b69f_11c7_b281fd22dc94["_call()"] a3ea7a6e_c0f6_2e2b_7c6a_1f7b9fdaa248 -->|method| 695c0169_144a_b69f_11c7_b281fd22dc94 a8e91f99_0430_e067_258b_daa1489b6a67["_agenerate()"] a3ea7a6e_c0f6_2e2b_7c6a_1f7b9fdaa248 -->|method| a8e91f99_0430_e067_258b_daa1489b6a67
Relationship Graph
Source Code
libs/core/langchain_core/language_models/chat_models.py lines 1724–1769
class SimpleChatModel(BaseChatModel):
"""Simplified implementation for a chat model to inherit from.
!!! note
This implementation is primarily here for backwards compatibility. For new
implementations, please use `BaseChatModel` directly.
"""
def _generate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
output_str = self._call(messages, stop=stop, run_manager=run_manager, **kwargs)
message = AIMessage(content=output_str)
generation = ChatGeneration(message=message)
return ChatResult(generations=[generation])
@abstractmethod
def _call(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: CallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> str:
"""Simpler interface."""
async def _agenerate(
self,
messages: list[BaseMessage],
stop: list[str] | None = None,
run_manager: AsyncCallbackManagerForLLMRun | None = None,
**kwargs: Any,
) -> ChatResult:
return await run_in_executor(
None,
self._generate,
messages,
stop=stop,
run_manager=run_manager.get_sync() if run_manager else None,
**kwargs,
)
Extends
Source
Frequently Asked Questions
What is the SimpleChatModel class?
SimpleChatModel is a class in the langchain codebase, defined in libs/core/langchain_core/language_models/chat_models.py.
Where is SimpleChatModel defined?
SimpleChatModel is defined in libs/core/langchain_core/language_models/chat_models.py at line 1724.
What does SimpleChatModel extend?
SimpleChatModel extends BaseChatModel.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free