AI应用—LangChain 和 LangGraph介绍

一、AI的环境介绍

现在必须是言改称AI,否则就会被鄙弃,觉得你跟不上时代的潮流,不fashion,思想不Open。反正一系列的想法会在不同的人,不同的场景下或明或暗的表达出来。其实AI现在有很多的问题,在应用上,前些年AI提出的一些典型的有价值的应用场景,比如自动驾驶,目前几乎已经有了结论,至少在短时间内是无法实现的。 包括现在很火的自动生成图像和视频(生成式人工智能-Generative Artificial Intelligence),其实普通人仔细一看或稍加学习就可以发现他们是假的。现在的AI,只能在既有的基础上进行创作并进行适当的组合式的简单创新,而全新的创建对现在的AI来说,几乎是不可想象的。
但是,AI在某些特定场景下,已经发挥出来了极大的作用,比如图像识别、工业应用等。特别是在一些固定场景、固定线路的自动驾驶,目前已经证明是非常不错的。在一些文本生成、甚至一些固定的算法开发的代码生成中,AI都能极大的提高工作的效率。
所以,AI是一种未来,是要求大家客观冷静、认真负责的对待的技术,而不是走两个极端。

二、LangChain 和 LangGraph

RAG(Retrieval-Augmented Generation)‌是一种结合检索和生成模型的技术架构,旨在提升大型语言模型(LLM)在处理实时数据和私有知识时的准确性和上下文感知能力。这种技术其实是现在的LLM大模型应用的一个典型场景。做为C++程序员,如果从底层自己构建也不是不行,但是太复杂太耗费时间和精力了,那么有没有类似的框架可以供广大的开发者使用呢?那就是本文介绍的LangChain 和 LangGraph。它们两个是构建基于大模型的AI应用的非常受关注的框架。
要想理解它们,先要明白人工智能代理(AI Agents),AI Agent = 大型语言模型 + 规划决策能力 + 工具调用能力 + 记忆/学习能力,它能够独立完成复杂任务闭环的智能执行者。而这两个框架,就是一种结合了人工智能体代理的新技术,目的就是为了能够处理更为复杂的交互任务。
LangChain的特点在于能够轻松的创建自定义的链,并严格的按顺序执行(即它是一个线性的工作流)。LangGraph是建立在LangChain之上,并与其相关生态兼容的库。它利用循环图的方法,协调大模型和外部工具,解决应用场景中的复杂问题。 二者均为LangChain团队打造并开发。

三、应用特点和区别

下面就两个框架的一些特点进行分析说明:
1、LangChain
通过线性工作流(Chain,链式)将LLM调用等流程串联形成一个有向无环图,它适合固定的流程场景应用,并提供了基础的并行处理模块。
2、LangGraph
通过图的模型,引入节点、边等概念,加强了对循环、分支以及状态的控制和管理。特别是状态的全流程覆盖,使得数据的传递更加安全合理。
二者的不同主要体现在:
1、LangChain是线程执行的,一般用于比较简单的应用;而LangGraph由于使用了循环图,其允许节点根据图的状态进行不断访问、迭代处理、反馈循环和复杂决策等情况,所以可以应用于复杂的场景。
2、状态执行
LangGraph相对于LangChain的无状态流程,循环执行导致了状态的更新和传递,也就是存在着大家熟悉的上下文传递。因此更适合于复杂的反复交互操作
3、条件逻辑
LangChain支持线性链,而LangGraph通过条件边加强了此功能。即LangGraph相对于LangChain更强大一些。

四、安装和使用

1、两个库的安装如下:

//推荐使用虚拟环境
1、安装Python虚拟环境:当然也可以直接安装Python并在其中安装相关软件 版本建议大于python3.8
python -m venv langchain-env  # 创建虚拟环境
source langchain-env/bin/activate  # Linux/macOS
# 或
langchain-env\Scripts\activate  # Windows
2、安装相关库
pip install dashscope langchain langgraph  #有可能会很慢 
3、安装扩展相关 #根据需要
# 常用扩展包
pip install llama-cpp-python      #本地支持
pip install chromadb              #向量数据库 

pip install langchain-community langchain-core  # 社区工具集成
pip install langchain-openai      # OpenAI 接入
pip install langchain-google-genai # Google Gemini 接入
pip install langserve            # API 服务支持
pip install httpx

2、LangChain 和 LangGraph主要是面向Python生态应用的,无法直接被C++使用,但可以通过HTTP RESTFUL接口或混合应用,下面看一下相关的简单的例程:

//服务端
from langserve import add_routes
add_routes(app, graph, path="/workflow")

//C++客户端 
#include <curl/curl.h>
curl_easy_setopt(curl, CURLOPT_URL, "http://localhost:8000/workflow/invoke");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, R"({"input":"C++test"})");

C++应用对于AI开发者来说,还是有点难度。所以搞AI懂Python还是有必要的。

五、总结

ai现在很火,但繁华的表象下已经是暗流涌动。基础的核心的技术并没有本质的突破,这是目前AI的最大的问题。所以很多大牛都在提醒,这会不会是一场盛宴落幕前的狂欢?但AI发展的方向至少在现在是没有大问题的。所以,大家还是要努力的学习和融入AI。书本上怎么说来着:“君子性非异也,善假于物也”!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值