Files
langchain-python/langchain
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)
```
2023-04-19 16:18:32 -07:00
..
2023-04-18 21:41:03 -07:00
2023-03-22 23:15:04 -07:00
2023-04-18 21:54:30 -07:00
2023-04-13 10:03:43 -07:00
2023-04-17 21:14:40 -07:00
2023-04-12 14:16:58 -07:00
2022-11-12 11:22:32 -08:00
2023-02-20 21:15:45 -08:00
2023-04-15 16:05:11 -07:00
2023-04-06 23:03:09 -07:00
2023-01-19 14:48:30 -08:00