Home / Function/ template_is_valid() — langchain Function Reference

template_is_valid() — langchain Function Reference

Architecture documentation for the template_is_valid() function in few_shot_with_templates.py from the langchain codebase.

Entity Profile

Dependency Diagram

graph TD
  6351a5e0_1324_9ff2_cc0b_c6855751b691["template_is_valid()"]
  713e8d01_f24d_0ae6_d363_33f3f321e867["FewShotPromptWithTemplates"]
  6351a5e0_1324_9ff2_cc0b_c6855751b691 -->|defined in| 713e8d01_f24d_0ae6_d363_33f3f321e867
  style 6351a5e0_1324_9ff2_cc0b_c6855751b691 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

libs/core/langchain_core/prompts/few_shot_with_templates.py lines 80–101

    def template_is_valid(self) -> Self:
        """Check that prefix, suffix, and input variables are consistent."""
        if self.validate_template:
            input_variables = self.input_variables
            expected_input_variables = set(self.suffix.input_variables)
            expected_input_variables |= set(self.partial_variables)
            if self.prefix is not None:
                expected_input_variables |= set(self.prefix.input_variables)
            missing_vars = expected_input_variables.difference(input_variables)
            if missing_vars:
                msg = (
                    f"Got input_variables={input_variables}, but based on "
                    f"prefix/suffix expected {expected_input_variables}"
                )
                raise ValueError(msg)
        else:
            self.input_variables = sorted(
                set(self.suffix.input_variables)
                | set(self.prefix.input_variables if self.prefix else [])
                - set(self.partial_variables)
            )
        return self

Subdomains

Frequently Asked Questions

What does template_is_valid() do?
template_is_valid() is a function in the langchain codebase, defined in libs/core/langchain_core/prompts/few_shot_with_templates.py.
Where is template_is_valid() defined?
template_is_valid() is defined in libs/core/langchain_core/prompts/few_shot_with_templates.py at line 80.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free