refactor(validate.py): extract build_graph function to langflow.interface.run module
feat(validate.py): add post_validate_node endpoint to validate a single node in the graph by its id
This commit is contained in:
parent
23eb511560
commit
09320824a9
2 changed files with 25 additions and 7 deletions
|
|
@ -7,6 +7,7 @@ from langflow.api.base import (
|
||||||
PromptValidationResponse,
|
PromptValidationResponse,
|
||||||
validate_prompt,
|
validate_prompt,
|
||||||
)
|
)
|
||||||
|
from langflow.interface.run import build_graph
|
||||||
from langflow.utils.logger import logger
|
from langflow.utils.logger import logger
|
||||||
from langflow.utils.validate import validate_code
|
from langflow.utils.validate import validate_code
|
||||||
|
|
||||||
|
|
@ -33,3 +34,20 @@ def post_validate_prompt(prompt: Prompt):
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.exception(e)
|
logger.exception(e)
|
||||||
raise HTTPException(status_code=500, detail=str(e)) from e
|
raise HTTPException(status_code=500, detail=str(e)) from e
|
||||||
|
|
||||||
|
|
||||||
|
# validate node
|
||||||
|
@router.post("/node/{node_id}", status_code=200)
|
||||||
|
def post_validate_node(node_id: str, data: dict):
|
||||||
|
try:
|
||||||
|
# build graph
|
||||||
|
graph = build_graph(data)
|
||||||
|
# validate node
|
||||||
|
node = graph.get_node(node_id)
|
||||||
|
if node is not None:
|
||||||
|
_ = node.build()
|
||||||
|
return node.params
|
||||||
|
raise
|
||||||
|
except Exception as e:
|
||||||
|
logger.exception(e)
|
||||||
|
raise HTTPException(status_code=500, detail=str(e)) from e
|
||||||
|
|
|
||||||
|
|
@ -39,16 +39,16 @@ def build_langchain_object_with_caching(data_graph):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
logger.debug("Building langchain object")
|
logger.debug("Building langchain object")
|
||||||
nodes = data_graph["nodes"]
|
graph = build_graph(data_graph)
|
||||||
# Add input variables
|
|
||||||
# nodes = payload.extract_input_variables(nodes)
|
|
||||||
# Nodes, edges and root node
|
|
||||||
edges = data_graph["edges"]
|
|
||||||
graph = Graph(nodes, edges)
|
|
||||||
|
|
||||||
return graph.build()
|
return graph.build()
|
||||||
|
|
||||||
|
|
||||||
|
def build_graph(data_graph):
|
||||||
|
nodes = data_graph["nodes"]
|
||||||
|
edges = data_graph["edges"]
|
||||||
|
return Graph(nodes, edges)
|
||||||
|
|
||||||
|
|
||||||
def build_langchain_object(data_graph):
|
def build_langchain_object(data_graph):
|
||||||
"""
|
"""
|
||||||
Build langchain object from data_graph.
|
Build langchain object from data_graph.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue