ConditionalPromptSelector Class — langchain Architecture
Architecture documentation for the ConditionalPromptSelector class in prompt_selector.py from the langchain codebase.
Entity Profile
Dependency Diagram
graph TD f4ac9342_1643_b06f_2c74_6eb4fe4793e9["ConditionalPromptSelector"] e1858d51_0d9c_0b60_b847_e7cd338349bf["BasePromptSelector"] f4ac9342_1643_b06f_2c74_6eb4fe4793e9 -->|extends| e1858d51_0d9c_0b60_b847_e7cd338349bf caf93f27_6158_f36d_37c6_2a573c4bd8b9["prompt_selector.py"] f4ac9342_1643_b06f_2c74_6eb4fe4793e9 -->|defined in| caf93f27_6158_f36d_37c6_2a573c4bd8b9 7364e094_5d8f_1e3b_1f6e_6903bf72fca4["get_prompt()"] f4ac9342_1643_b06f_2c74_6eb4fe4793e9 -->|method| 7364e094_5d8f_1e3b_1f6e_6903bf72fca4
Relationship Graph
Source Code
libs/langchain/langchain_classic/chains/prompt_selector.py lines 19–41
class ConditionalPromptSelector(BasePromptSelector):
"""Prompt collection that goes through conditionals."""
default_prompt: BasePromptTemplate
"""Default prompt to use if no conditionals match."""
conditionals: list[
tuple[Callable[[BaseLanguageModel], bool], BasePromptTemplate]
] = Field(default_factory=list)
"""List of conditionals and prompts to use if the conditionals match."""
def get_prompt(self, llm: BaseLanguageModel) -> BasePromptTemplate:
"""Get default prompt for a language model.
Args:
llm: Language model to get prompt for.
Returns:
Prompt to use for the language model.
"""
for condition, prompt in self.conditionals:
if condition(llm):
return prompt
return self.default_prompt
Extends
Source
Frequently Asked Questions
What is the ConditionalPromptSelector class?
ConditionalPromptSelector is a class in the langchain codebase, defined in libs/langchain/langchain_classic/chains/prompt_selector.py.
Where is ConditionalPromptSelector defined?
ConditionalPromptSelector is defined in libs/langchain/langchain_classic/chains/prompt_selector.py at line 19.
What does ConditionalPromptSelector extend?
ConditionalPromptSelector extends BasePromptSelector.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free