智能体工具Langgraph使用心得
Langgraph是Langchain推出的开源智能体框架,功能全,但是门槛比dify,n8n,crewai,autogen要高,因为需要写代码来搭建智能体,还没有可视化的编排界面。不对,有可视化的studio界面,但是只能用来提问,查看结构,不同编排智能体。个人理解是GraphAPI用图的结构,来搭建基础节点,分为三个概念:Nodes,States,Edges,节点,状态,边。而Function
文档链接:https://langchain-ai.github.io/langgraph/
Langgraph是Langchain推出的开源智能体框架,功能全,但是门槛比dify,n8n,crewai,autogen要高,因为需要写代码来搭建智能体,还没有可视化的编排界面。不对,有可视化的studio界面,但是只能用来提问,查看结构,不同编排智能体。
主要的代码功能分为两块,GraphAPI和FunctionalAPI.
个人理解是GraphAPI用图的结构,来搭建基础节点,分为三个概念:Nodes,States,Edges,节点,状态,边。可以用来搭建条件分支,循环等结构。
而FunctionalAPI则是工具节点,用来实现特殊功能,例如流,人工审核,数据存储,持久化等。
来看一下例子。
Langgraph有提供几个例子在github仓库。
尝试一下,可以先搞个langsmith的apikey,用来监控过程。
https://smith.langchain.com/
先尝试一下new-langgraph-project
可以使用以下代码安装依赖
python -m pip install -e .


运行会自动开启后端API接口,以及在浏览器的langsmith上面打开可视化的界面。


这个感觉有Bug,总是报错。
看了代码明白了,是要在new assistant里面的my_configable_param设置值。这个智能体的作用就是读取config值。
换了data-enrichment这个例子,可以运行。这个就是问个问题,然后生成回答,再生成挑刺,再重复生成回答。

对了,有一点,使用私有部署模型或不用默认的Anthropic模型的话,要在.env和代码里去找哪里定义了使用模型,使用模型的名称不是在.env里设置的,这点不太好。比如 react-agent的模型名称设置在context.py里面,data-enrichment-main的模型设置在configuration.py里面。默认的都是Anthropic的模型,但是Anthropic没有海外手机号不能注册。
.env里这样配就行。
又试了react-agent这个例子,这个就是加了网络搜索工具。效果还可以,这里可以感觉到langgraph的优点是全程可控,过程比较直观详细。

如果在.env里面配了apikey,langsmith里还保存了运行记录
有些项目没跑起来
memory-agent这个例子现在有问题,需要使用langgraph studio,但是目前langgraph已经被弃用了。
找到有个谷歌做的langgraph例子,比langchain的做的好
地址:https://github.com/google-gemini/gemini-fullstack-langgraph-quickstart
看了一下,就是一个网络搜索的智能体。不过貌似代码里面没有加langsmith,就无法监控。


不过谷歌的免费gemini api基本运行不完,就受限停了

改了2.0倒是可以用。
也试了一下cli example
思考了一下,业务上我们需要用知识库,但是langgraph甚至不如langchain更简单去实现知识库,更不用说用dify了。
也发现了一个有意思的事情,github上,google和非官方人员做的langgraph的仓库的star数快要超过langgraph的star数了
更多推荐
所有评论(0)