python
from langchain_core.messages import AIMessageChunk
from langgraph.graph.message import add_messages,MessagesState
from langchain.chat_models import init_chat_model
from dotenv import load_dotenv
load_dotenv()
llm=init_chat_model(
model="deepseek-chat"
)
class overAllState(MessagesState):
userValue: str
mes: str
def node1(state:overAllState):
return {
"userValue": [HumanMessage(state["userValue"])]
}
def node2(state:overAllState):
res=llm.invoke(state["userValue"])
return {
"messages":[res],
"mes": res.content
}
graph=(
StateGraph(overAllState)
.add_node(node1)
.add_node(node2)
.add_edge(START, "node1")
.add_edge("node1", "node2")
.add_edge("node2", END)
.compile()
)
display.display(graph)
for chunk in graph.stream(
{"userValue":"你是谁"},
stream_mode="messages",
):
msg, meta = chunk
if isinstance(msg, AIMessageChunk) and msg.content:
print(msg.content, end="", flush=True)

全局状态继承官方的MessagesState

这是MessagesState的源码,它帮用户定义了
ini
messages: Annotated[list[AnyMessage], add_messages]