Home / Class/ ConditionalPromptSelector Class — langchain Architecture

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

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