大幅优化智能体性能 从LangChain更新LangGraph

  • 电脑网络维修
  • 2024-11-15

智能体开发畛域正在迅速开展,LangChain也随之一直演化退化。只管传统的LangChain智能体(尤其是基于AgentExecutor构建的)曾经提供了稳固的服务,但LangGraph的产生带来了更为弱小和灵敏的处置打算。

本文指点读者如何将智能体迁徙至LangGraph,使迁徙后的智能体能够充沛应用LangGraph的最新技术长处。

1 传统LangChain与LangGraph

传统LangChain智能体是基于AgentExecutor类构建的,为LangChain平台中的智能体开发提供了一种结构化的方法,并为智能体的行为提供了片面的性能选项。

LangGraph代表了LangChain智能体开发的新纪元。它赋予了开发者构建高度定制化和可控智能体的才干。与之前的版本相比,LangGraph提供了更为精细的控制才干。

2 为什么迁徙至LangGraph

迁徙至LangGraph可以解锁多个好处:

3 代码成功

上方是将传统LangChain智能体迁徙到LangGraph所需的代码级别更改。

步骤I:装置库

pip install -U langgraph langchain langchain-openai

步骤II:智能体的基本经常使用

from langchain.agents import AgentExecutor, create_tool_calling_agentfrom langchain.memory import ChatMessageHistoryfrom langchain_core.prompts import ChatPromptTemplatefrom langchain_core.runnables.history import RunnableWithMessageHistoryfrom langchain_core.tools import toolfrom langchain_openai import ChatOpenAImodel = ChatOpenAI(model="gpt-4o")memory = ChatMessageHistory(session_id="test-session")prompt = ChatPromptTemplate.from_messages([("system", "You are a helpful assistant."),# First put the history("placeholder", "{chat_history}"),# Then the new input("human", "{input}"),# Finally the scratchpad("placeholder", "{agent_scratchpad}"),])@tooldef magic_function(input: int) -> int:"""Applies a magic function to an input."""return input + 2tools = [magic_function]agent = create_tool_calling_agent(model, tools, prompt)agent_executor = AgentExecutor(agent=agent, tools=tools)agent_with_chat_history = RunnableWithMessageHistory(agent_executor,# 这是必须的,由于在大少数事实场景中,须要一个会话ID# 但在这里没有真正经常使用,由于经常使用的是便捷的内存ChatMessageHistorylambda session_id: memory,input_messages_key="input",history_messages_key="chat_history",)config = {"configurable": {"session_id": "test-session"}}print(agent_with_chat_history.invoke({"input": "Hi, I'm polly! What's the output of magic_function of 3?"}, config)["output"])print("---")print(agent_with_chat_history.invoke({"input": "Remember my name?"}, config)["output"])print("---")print(agent_with_chat_history.invoke({"input": "what was that output again?"}, config)["output"])# 输入Hi Polly! The output of the magic function for the input 3 is 5.---Yes, I remember your name, Polly! How can I assist you further?---The output of the magic function for the input 3 is 5.

步骤III:LangGraph的智能体形态治理

from langchain_core.messages import SystemMessagefrom langgraph.checkpoint import MemorySaver# 内存中的审核点保留器from langgraph.prebuilt import create_react_agentsystem_message = "You are a helpful assistant."# 这也可以是一个SystemMessage对象# system_message = SystemMessage(content="You are a helpful assistant. Respond only in Spanish.")memory = MemorySaver()app = create_react_agent(model, tools, messages_modifier=system_message, checkpointer=memory)config = {"configurable": {"thread_id": "test-thread"}}print(app.invoke({"messages": [("user", "Hi, I'm polly! What's the output of magic_function of 3?")]},config,)["messages"][-1].content)print("---")print(app.invoke({"messages": [("user", "Remember my name?")]}, config)["messages"][-1].content)print("---")print(app.invoke({"messages": [("user", "what was that output again?")]}, config)["messages"][-1].content)# 输入Hi Polly! The output of the magic_function for the input 3 is 5.---Yes, your name is Polly!---The output of the magic_function for the input 3 was 5.

4 结语

迁徙至LangGraph的智能体会取得更深档次的才干和灵敏性。依照既定步骤并了解系统信息的概念,将有助于成功平滑过渡,并优化智能体的性能体现。

本文转载自​​,作者:

  • 关注微信

本网站的文章部分内容可能来源于网络和网友发布,仅供大家学习与参考,如有侵权,请联系站长进行删除处理,不代表本网站立场,转载联系作者并注明出处:https://duobeib.com/diannaowangluoweixiu/6209.html

猜你喜欢

热门标签

洗手盆如何疏浚梗塞 洗手盆为何梗塞 iPhone提价霸占4G市场等于原价8折 明码箱怎样设置明码锁 苏泊尔电饭锅保修多久 长城画龙G8253YN彩电输入指令画面变暗疑问检修 彩星彩电解除童锁方法大全 三星笔记本培修点上海 液晶显示器花屏培修视频 燃气热水器不热水要素 热水器不上班经常出现3种处置方法 无氟空调跟有氟空调有什么区别 norltz燃气热水器售后电话 大连站和大连北站哪个离周水子机场近 热水器显示屏亮显示温度不加热 铁猫牌保险箱高效开锁技巧 科技助力安保无忧 创维8R80 汽修 a1265和c3182是什么管 为什么电热水器不能即热 标致空调为什么不冷 神舟培修笔记本培修 dell1420内存更新 青岛自来水公司培修热线电话 包头美的洗衣机全国各市售后服务预定热线号码2024年修缮点降级 创维42k08rd更新 空调为什么运转异响 热水器为何会漏水 该如何处置 什么是可以自己处置的 重庆华帝售后电话 波轮洗衣机荡涤价格 鼎新热水器 留意了!不是水平疑问! 马桶产生了这5个现象 方便 极速 邢台空调移机电话上门服务 扬子空调缺点代码e4是什么疑问 宏基4736zG可以装置W11吗 奥克斯空调培修官方 为什么突然空调滴水很多 乐视s40air刷机包 未联络视的提高方向 官网培修 格力空调售后电话 皇明太阳能电话 看尚X55液晶电视进入工厂形式和软件更新方法 燃气热水器缺点代码

热门资讯

关注我们

微信公众号