You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
langchain/langchain/prompts
engkheng dbbc340f25
Validate `input_variables` when using `jinja2` templates (#3140)
`langchain.prompts.PromptTemplate` and
`langchain.prompts.FewShotPromptTemplate` do not validate
`input_variables` when initialized as `jinja2` template.

```python
# Using langchain v0.0.144
template = """"\
Your variable: {{ foo }}
{% if bar %}
You just set bar boolean variable to true
{% endif %}
"""

# Missing variable, should raise ValueError
prompt_template = PromptTemplate(template=template, 
                                 input_variables=["bar"], 
                                 template_format="jinja2", 
                                 validate_template=True)

# Extra variable, should raise ValueError
prompt_template = PromptTemplate(template=template, 
                                 input_variables=["bar", "foo", "extra", "thing"], 
                                 template_format="jinja2", 
                                 validate_template=True)
```
1 year ago
..
example_selector Fix small typo in SemanticSimilarityExampleSelector (#2629) 1 year ago
__init__.py chat model example (#2310) 1 year ago
base.py Validate `input_variables` when using `jinja2` templates (#3140) 1 year ago
chat.py chat model example (#2310) 1 year ago
few_shot.py Removed duplicate BaseModel dependencies (#2471) 1 year ago
few_shot_with_templates.py Removed duplicate BaseModel dependencies (#2471) 1 year ago
loading.py consistently use getLogger(__name__), no root logger (#2989) 1 year ago
prompt.py Validate `input_variables` when using `jinja2` templates (#3140) 1 year ago