🐛 fix(base.py): handle case when edge data is empty by logging an error and setting default values for source_handle, target_handle, and target_param
✨ feat(base.py): extract target_param from target_handle by splitting on "|" character to improve readability and maintainability
This commit is contained in:
parent
2bb626fc66
commit
b865c4f917
1 changed files with 16 additions and 10 deletions
|
|
@ -28,9 +28,7 @@ class Edge:
|
||||||
def __init__(self, source: "Vertex", target: "Vertex", edge: dict):
|
def __init__(self, source: "Vertex", target: "Vertex", edge: dict):
|
||||||
self.source: "Vertex" = source
|
self.source: "Vertex" = source
|
||||||
self.target: "Vertex" = target
|
self.target: "Vertex" = target
|
||||||
data = edge.get("data", {})
|
if data := edge.get("data", {}):
|
||||||
if not data:
|
|
||||||
raise ValueError("Edge data is empty")
|
|
||||||
self._source_handle = data.get("sourceHandle", {})
|
self._source_handle = data.get("sourceHandle", {})
|
||||||
self._target_handle = data.get("targetHandle", {})
|
self._target_handle = data.get("targetHandle", {})
|
||||||
self.source_handle: SourceHandle = SourceHandle(**self._source_handle)
|
self.source_handle: SourceHandle = SourceHandle(**self._source_handle)
|
||||||
|
|
@ -38,6 +36,14 @@ class Edge:
|
||||||
self.target_param = self.target_handle.fieldName
|
self.target_param = self.target_handle.fieldName
|
||||||
# validate handles
|
# validate handles
|
||||||
self.validate_handles()
|
self.validate_handles()
|
||||||
|
else:
|
||||||
|
# Logging here because this is a breaking change
|
||||||
|
logger.error("Edge data is empty")
|
||||||
|
self.source_handle = edge.get("sourceHandle", "")
|
||||||
|
self.target_handle = edge.get("targetHandle", "")
|
||||||
|
# 'BaseLoader;BaseOutputParser|documents|PromptTemplate-zmTlD'
|
||||||
|
# target_param is documents
|
||||||
|
self.target_param = self.target_handle.split("|")[1]
|
||||||
# Validate in __init__ to fail fast
|
# Validate in __init__ to fail fast
|
||||||
self.validate_edge()
|
self.validate_edge()
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue