AI agent案例汇总:基于 LangGraph 的智能对话 Agent 实现 实现了一个具备记忆功能和工具调用能力的智能对话 Agent基于 LangChain 框架构建可实现天气查询、数学运算两大核心功能同时支持多轮对话记忆。代码中初始化了大模型并配置相关参数通过装饰器定义工具函数让 Agent 能够根据用户需求自动调用对应工具完成天气查询和数学计算任务同时引入对话历史存储机制确保 Agent 能记住过往对话内容实现自然、连贯的多轮交互整体流程清晰既保留了 AI 的对话能力又通过工具调用拓展了实际应用场景可满足用户多样化的查询需求。# 导入大模型统一调用接口from langchain_openai import ChatOpenAI# 自定义工具的装饰器(tool:把函数变为AI工具)from langchain_core.tools import tool# 提示词的模板 历史消息占位符(做记忆必须用)from langchain_core.prompts import ChatPromptTemplate, MessagesPlaceholder# 对话历史存储器(有的是聊天记录)from langchain_community.chat_message_histories import ChatMessageHistoryfrom langchain_core.runnables.history import RunnableWithMessageHistory# 创建agent(会思考, 会调用工具)from langgraph.prebuilt import create_react_agent# 1:自定义工具tooldef get_weather(city:str) - str:查询指定城市的天气return f{city}今天天气很好,气温39.9度。tooldef cal(expr:str) - str:做数学运算, 传入的是表达式return f{eval(expr)}# 2:初始化大模型llm ChatOpenAI(api_key嘿嘿嘿嘿嘿, # 身份凭证(密钥)modeldeepseek-chat, # 调用的 DeepSeek 模型名称base_url嘿嘿嘿 # DeepSeek 模型接口地址(网页解析失败不影响接口调用))# 工具列表tools [get_weather, cal]# 3:创建支持工具的agentagent create_react_agent(llm, tools)# 4: 配置对话记忆# 存储会话历史chat_history ChatMessageHistory()# 5给agent加上记忆功能agent_with_history RunnableWithMessageHistory(agent,lambda session_id: chat_history,input_messages_key messages)# 6多轮问话测试# 第一轮问天气计算res1 agent_with_history.invoke({messages:[{role:user,content:榆次天气怎么样帮我算一下3*5}]},config {configurable:{session_id:user01}})print(第一轮回答:)print(res1[messages][-1].content)print(**20)# 第二轮利用记忆说城市表达式res2 agent_with_history.invoke({messages:[{role:user,content:我刚才问了那两个问题}]},config {configurable:{session_id:user01}})print(第二轮回答(带记忆):)print(res2[messages][-1].content) 描述一下这是在干什么生动形象