LangGraph 基础打字效果

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]
相关推荐
学编程就要猛9 小时前
RAG(Retrieval Augmented Generation)
人工智能·spring ai
冬奇Lab10 小时前
一天一个开源项目(第259篇):Modern Web Guidance —— Chrome 团队给 AI 编码 Agent 的「现代 Web 最佳实践」外挂
人工智能·开源
飞哥数智坊11 小时前
打造自己的 Personal Agent,从抄大肥鱼作业开始
人工智能·deepseek
对你无可奈何11 小时前
Magpie 实战:把 WorkBuddy、Qoder 的订阅模型接进一个本地池子
人工智能
Csvn12 小时前
每请求到底多少钱?把 Token 成本算成可观测指标(C01)
人工智能·aigc·agent
吴名氏.12 小时前
Java转AI Agent教程(第十三周)混合检索与重排
java·数据库·人工智能·ai·ai agent
老金带你玩AI13 小时前
惊人的一致性!Seedream 5.5实测!
人工智能
数据技术说14 小时前
在 KES AI 数据库上搭一条 NL2SQL 链路:语义、召回、权限各放哪
人工智能·sql·代码规范
jay神14 小时前
基于 YOLOv8 的手势识别系统(Web 版)
前端·人工智能·python·深度学习·yolo·计算机视觉·计算机毕业设计