Add MessageGraph

This commit is contained in:
Nuno Campos
2024-01-20 17:17:01 -08:00
parent b328a46f73
commit 07f0eca65f
3 changed files with 382 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
from typing import Annotated, Union
from langchain_core.messages import AnyMessage
from langgraph.graph.state import StateGraph
Messages = Union[list[AnyMessage], AnyMessage]
def add_messages(left: Messages, right: Messages) -> Messages:
if not isinstance(left, list):
left = [left]
if not isinstance(right, list):
right = [right]
return left + right
class MessageGraph(StateGraph):
"""A StateGraph where every node
- receives a list of messages as input
- returns one or more messages as output."""
def __init__(self) -> None:
super().__init__(Annotated[list[AnyMessage], add_messages])