ABAO77's picture
Implement lesson practice agent and related functionality
c0a7f25
raw
history blame
859 Bytes
from langgraph.graph import StateGraph, START, END
from .func import State
from langgraph.graph.state import CompiledStateGraph
from langgraph.store.memory import InMemoryStore
class PrimaryChatBot:
def __init__(self):
pass
@staticmethod
def should_continue(state: State):
messages = state["messages"]
last_message = messages[-1]
if not last_message.tool_calls:
return "end"
else:
return "continue"
def node(self, graph: StateGraph):
return graph
def edge(self, graph: StateGraph):
return graph
def __call__(self, checkpointer=InMemoryStore()) -> CompiledStateGraph:
graph = StateGraph(State)
graph: StateGraph = self.node(graph)
graph: StateGraph = self.edge(graph)
return graph.compile(checkpointer=checkpointer)