From 2c2ae5451c6faf7d20342b9075fd68cc67861989 Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 10 Jul 2023 15:13:40 -0300 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=92=20chore(base.py):=20add=20validati?= =?UTF-8?q?on=20for=20invalid=20input=20variable=20names=20in=20validate?= =?UTF-8?q?=5Fprompt=20function=20=F0=9F=90=9B=20fix(base.py):=20raise=20V?= =?UTF-8?q?alueError=20if=20any=20of=20the=20input=20variables=20in=20temp?= =?UTF-8?q?late=20are=20named=20as=20invalid=20names=20to=20prevent=20pote?= =?UTF-8?q?ntial=20issues?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/api/v1/base.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/backend/langflow/api/v1/base.py b/src/backend/langflow/api/v1/base.py index 420e1645f..71cac5412 100644 --- a/src/backend/langflow/api/v1/base.py +++ b/src/backend/langflow/api/v1/base.py @@ -60,12 +60,26 @@ INVALID_CHARACTERS = { "}", } +INVALID_NAMES = { + "input_variables", + "output_parser", + "partial_variables", + "template", + "template_format", + "validate_template", +} + def validate_prompt(template: str): input_variables = extract_input_variables_from_prompt(template) # Check if there are invalid characters in the input_variables input_variables = check_input_variables(input_variables) + if any(var in INVALID_NAMES for var in input_variables): + raise ValueError( + f"Invalid input variables. None of the variables can be named {', '.join(input_variables)}. " + ) + try: PromptTemplate(template=template, input_variables=input_variables) except Exception as exc: