feat: get_node_infos减少toolcall次数,未知报错,回滚
This commit is contained in:
@@ -62,6 +62,7 @@ def get_current_workflow() -> str:
|
||||
return json.dumps({"error": "No workflow data found for this session"})
|
||||
return json.dumps(workflow_data)
|
||||
|
||||
@function_tool
|
||||
async def get_node_info(node_class: str) -> str:
|
||||
"""获取节点的详细信息,包括输入输出参数"""
|
||||
try:
|
||||
@@ -80,18 +81,18 @@ async def get_node_info(node_class: str) -> str:
|
||||
except Exception as e:
|
||||
return json.dumps({"error": f"Failed to get node info: {str(e)}"})
|
||||
|
||||
@function_tool
|
||||
async def get_node_infos(node_class_list: List[str]) -> str:
|
||||
"""获取多个节点的详细信息,包括输入输出参数"""
|
||||
try:
|
||||
node_infos = []
|
||||
for node_class in node_class_list:
|
||||
node_info = await get_node_info(node_class)
|
||||
if node_info:
|
||||
node_infos.append(node_info)
|
||||
return json.dumps(node_infos)
|
||||
except Exception as e:
|
||||
return json.dumps({"error": f"Failed to get node infos of {','.join(node_class_list)}: {str(e)}"})
|
||||
# @function_tool
|
||||
# async def get_node_infos(node_class_list: List[str]) -> str:
|
||||
# """获取多个节点的详细信息,包括输入输出参数"""
|
||||
# try:
|
||||
# node_infos = []
|
||||
# for node_class in node_class_list:
|
||||
# node_info = await get_node_info(node_class)
|
||||
# if node_info:
|
||||
# node_infos.append(node_info)
|
||||
# return json.dumps(node_infos)
|
||||
# except Exception as e:
|
||||
# return json.dumps({"error": f"Failed to get node infos of {','.join(node_class_list)}: {str(e)}"})
|
||||
|
||||
def save_checkpoint_before_modification(session_id: str, action_description: str) -> Optional[int]:
|
||||
"""在修改工作流前保存checkpoint,返回checkpoint_id"""
|
||||
|
||||
Reference in New Issue
Block a user