MCPcopy Create free account
hub / github.com/OpenBMB/ToolBench / set_node_vis

Method set_node_vis

toolbench/tooleval/evaluation/dataclass.py:132–160  ·  view source on GitHub ↗
(gnode,node:ExecutionNode)

Source from the content-addressed store, hash-verified

130 return wrapped_text
131
132 def set_node_vis(gnode,node:ExecutionNode):
133 for k,v in VIS_CONFIG[node.role].items():
134 gnode.attr[k] = v
135
136 if node.role == 'system':
137 gnode.attr['label']='SystemPrompt'
138 elif node.role == 'tool':
139 if node.message['name'] == 'Finish':
140 # args = json.loads(node.message['arguments'])
141 args = str(node.message['arguments'])
142 idx = args.find('return_type')
143
144 if 'give_answer' in args[idx:idx+30]:
145 gnode.attr['fillcolor'] = 'green'
146 # gnode.attr['xlabel'] = f"{wrap_text(args.get('final_answer',''))}"
147 gnode.attr['label'] = wrap_text(args[args.find('final_answer'):])
148 else:
149 gnode.attr['fillcolor'] = 'red'
150 gnode.attr['label'] = 'restart'
151 gnode.attr['style'] = 'filled'
152 gnode.attr['shape'] = 'ellipse'
153 else:
154 gnode.attr['label'] = f"tool: {wrap_text(node.message['name'])}"
155 gnode.attr['xlabel'] = f"{wrap_text(node.message['response'])}"
156 elif node.role =='assistant':
157 gnode.attr['label'] = node.role.upper() +'\n'+ wrap_text(str(node.message))
158 else:
159 gnode.attr['xlabel'] = wrap_text(str(node.message))
160 gnode.attr['label'] = node.role.upper()
161
162 for node in self.nodes.values():
163 gnode = G.get_node(str(node))

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected