Spaces:
Sleeping
Sleeping
| from langchain_core.messages import convert_to_messages | |
| class Agent_Util: | |
| def pretty_print_message(message, indent=False): | |
| pretty_message = message.pretty_repr(html=True) | |
| if not indent: | |
| print(pretty_message) | |
| return | |
| indented = "\n".join("\t" + c for c in pretty_message.split("\n")) | |
| print(indented) | |
| def pretty_print_messages(update, last_message=False): | |
| is_subgraph = False | |
| if isinstance(update, tuple): | |
| ns, update = update | |
| # skip parent graph updates in the printouts | |
| if len(ns) == 0: | |
| return | |
| graph_id = ns[-1].split(":")[0] | |
| print(f"Update from subgraph {graph_id}:") | |
| print("\n") | |
| is_subgraph = True | |
| for node_name, node_update in update.items(): | |
| update_label = f"Update from node {node_name}:" | |
| if is_subgraph: | |
| update_label = "\t" + update_label | |
| print(update_label) | |
| print("\n") | |
| messages = convert_to_messages(node_update["messages"]) | |
| if last_message: | |
| messages = messages[-1:] | |
| for m in messages: | |
| Agent_Util.pretty_print_message(m, indent=is_subgraph) | |
| print("\n") |