24Arys11's picture
Trying something new - an agent builder...
bea2d8c
from typing import Dict, Any
from langgraph.graph import StateGraph, END, START
from langgraph.graph.state import CompiledStateGraph
class State:
"""
State class for the agent graph.
"""
# TODO: Define state structure
pass
class Nodes:
"""
Collection of node functions for the agent graph.
"""
def example_node_1_node(self, state):
"""
This is an example node
"""
# TODO: To implement...
pass
def example_node_2_node(self, state):
"""
This is another example node
"""
# TODO: To implement...
pass
def example_node_3_node(self, state):
"""
This is yet another example node
"""
# TODO: To implement...
pass
class Edges:
"""
Collection of conditional edge functions for the agent graph.
"""
class GraphBuilder:
def __init__(self):
"""
Initializes the GraphBuilder.
"""
self.nodes = Nodes()
self.edges = Edges()
# TODO: Implement the desired constructor.
pass
def build_agent_graph(self) -> CompiledStateGraph:
"""Build and return the agent graph."""
graph = StateGraph(State)
# Add all nodes
graph.add_node("example_node_1", self.nodes.example_node_1_node)
graph.add_node("example_node_2", self.nodes.example_node_2_node)
graph.add_node("example_node_3", self.nodes.example_node_3_node)
# Add edges
graph.add_edge(START, "example_node_1")
graph.add_edge("example_node_1", "example_node_2")
graph.add_edge("example_node_2", "example_node_3")
graph.add_edge("example_node_3", END)
return graph.compile()