From ebcaedb84000008c4fced20d6c078b5e92ee791d Mon Sep 17 00:00:00 2001 From: Gabriel Luiz Freitas Almeida Date: Mon, 26 Jun 2023 10:20:48 -0300 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(base.py):=20add=20input=20vali?= =?UTF-8?q?dation=20for=20PromptTemplate=20to=20ensure=20that=20the=20temp?= =?UTF-8?q?late=20and=20input=20variables=20are=20valid=20The=20commented?= =?UTF-8?q?=20out=20code=20was=20removed=20to=20improve=20code=20readabili?= =?UTF-8?q?ty.=20Input=20validation=20was=20added=20to=20ensure=20that=20t?= =?UTF-8?q?he=20template=20and=20input=20variables=20are=20valid=20before?= =?UTF-8?q?=20creating=20a=20PromptTemplate=20object.=20This=20helps=20to?= =?UTF-8?q?=20prevent=20errors=20that=20may=20occur=20when=20the=20object?= =?UTF-8?q?=20is=20created=20with=20invalid=20input.=20=F0=9F=94=92=20chor?= =?UTF-8?q?e(base.py):=20remove=20commented=20out=20code=20and=20add=20inp?= =?UTF-8?q?ut=20validation=20for=20PromptTemplate?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/langflow/api/v1/base.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/backend/langflow/api/v1/base.py b/src/backend/langflow/api/v1/base.py index 6941bedf3..d595210bb 100644 --- a/src/backend/langflow/api/v1/base.py +++ b/src/backend/langflow/api/v1/base.py @@ -1,6 +1,7 @@ from pydantic import BaseModel, validator from langflow.interface.utils import extract_input_variables_from_prompt +from langchain.prompts import PromptTemplate class CacheResponse(BaseModel): @@ -57,6 +58,13 @@ def validate_prompt(template: str): # Check if there are invalid characters in the input_variables input_variables = check_input_variables(input_variables) + try: + PromptTemplate(template=template, input_variables=input_variables) + except Exception as exc: + raise ValueError(str(exc)) from exc + + # if len(input_variables) > 1: + # # If there's more than one input variable return PromptValidationResponse(input_variables=input_variables)