发现网络上没有什么langgraph的示例供人学习
在实践中学习才能进步更快
所以在这里分享一下我自己写的langgraph的demo

大模型接入参考文章:接入阿里云百炼

from typing import TypedDict
from langgraph.graph import StateGraph, END
from langchain_core.messages import HumanMessage, AIMessage
from langchain_openai import ChatOpenAI
import os

# 定义对话状态
class ChatState(TypedDict):
    messages: list

# 初始化模型(这个地方不知道怎么配置的参考我的上一篇文章:https://blog.csdn.net/qq_33247435/article/details/146216842
model = ChatOpenAI(
    model="deepseek-r1",
    openai_api_key=os.environ["BAILIAN_API_KEY"],
    openai_api_base="https://dashscope.aliyuncs.com/compatible-mode/v1",
)

# 单次对话处理(定义节点)
def chat_node(state: ChatState):
    last_message = state["messages"][-1]
    response = model.invoke([
        AIMessage(content="你是一个友好的助手,简洁回复用户问题"),
        last_message
    ])
    return {"messages": [AIMessage(content=response.content)]}

# 构建工作流
workflow = StateGraph(ChatState)
workflow.add_node("assistant", chat_node)
workflow.set_entry_point("assistant")
workflow.add_edge("assistant", END)  # 单次对话后结束

app = workflow.compile()

# 运行示例
if __name__ == "__main__":
    init_state = {"messages": [HumanMessage(content="你好,简单介绍三体?")]}
    result = app.invoke(init_state)
    print("AI回复:", result["messages"][-1].content)

执行结果:
在这里插入图片描述

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐