云计算百科
云计算领域专业知识百科平台

108.Agent-LangChain核心组件-State(状态)和配置LangSmith

摘要:本文围绕 LangChain 中 State 的核心概念展开,介绍 State 作为 Agent 运行任务时的共享内存空间,用于保存用户输入、中间结果、执行状态、上下文信息和下一步计划等关键数据。文章通过有 State 和无 State 的对比,说明 State 在节点间传递信息的重要性,并详细讲解 LangSmith 的配置步骤,帮助读者快速上手 Agent 开发与调试。

内容参考于:图灵AI大模型全栈

在LangChain中这个状态是构建一个智能体很核心的概念

如下图,这个State相当于Agent运行任务时的记忆,这个记忆里有当前任务需要的所有内容,就是说当我们提出了问题时,大模型会进行思考,要不要调用工具,如果调用了工具,工具的结果会再给到大模型,然后大模型判断是否解决了问题,如果解决了问题就生成答案,如果没有解决问题就进行下一步,可以看出它这些步骤里必要要记住用户的问题、工具的返回结果,缺任意一个就没办法解决好问题,这个State就是用来专递这些内容的,这个LangChain的State它就相当于一个共享的内存空间、全局变量,任何Agent都可以访问它获取信息和修改它更新执行状态、信息,它在Agent内部比如调用大模型或工具执行时传递和修改State,State它就是Python中的键值对字典类型,State是在LangGraph中,LangChain是基于LangGraph开发,一次任务一个State,State是根据任务来的

State它主要保存

用户输入:想Agent提出的问题

中间结果:就是调用工具返回的结果

执行状态:记录当前执行到什么步骤了,当前步骤是完成了还是未完成

上下文信息:用户信息、偏好等

下一步计划:下一步要执行的内容

一个任务需要的信息,都会存放在State中

有State和无State

如上图没有State时,如果下雨就通知李四,第一个节点它调用天气查询接口获取天气信息,结果是下雨,然后执行到下一个通知节点,现在没有State传递天气查询节点的结果,到了通知节点它就获取不到天气信息,它就没办法判断

如果有State时,它天气查询节点,查询到天气信息后写到State中,通知节点就去State中获取信息,这样就能得到,天气查询节点更新的内容,就可以判断天气是否下雨,如果下雨就通知李四

LangSmith配置

地址:LangSmith

它需要科学上网,直接点击下图红框使用谷歌账号等级

登录之后点击下图红框

然后添加一个api key

然后如下图的选择和输入,然后点击Create API Key

然后点击Copy复制API Key,注意它只能在下图这一步骤里复制,下图的弹框关闭了就没办法复制了,只能重新添加一个

LangChain官方文档:Tracing quickstart – Docs by LangChain

如下图红框LangChain官网中写了要配置三个环境变量

也不需要根据官网写,根据下图红框里的内容写就可以了,写好之后直接运行上一节中的代码就可以了,注意它需要科学上网


# 开启LangSmith上传
LANGSMITH_TRACING=true
# LangSmith的API Key
LANGSMITH_API_KEY = "lsv2_pt_xxxxxxxxx"
# 上传地址
LANGSMITH_ENDPOINT=https://api.smith.langchain.com
# 项目名称,LangSmith上传时会根据这个名称选择上传位置
LANGSMITH_PROJECT=TestLangChainAgent

如下图红框,我们这样创建的agent它就会上传到LangSmith

效果图:会把执行过程都上传到LangSmith

然后点击下图红框

然后就可以看到执行过程了


img

赞(0)
未经允许不得转载:网硕互联帮助中心 » 108.Agent-LangChain核心组件-State(状态)和配置LangSmith
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!