从LangChain到LangGraph:构建智能Agent的实战指南(一)——AI应用的“工具箱“

# langchain_basics

目录

[# langchain_basics](# langchain_basics)

引言:当AI需要"动手做事"

第一部分:LangChain------AI应用的"工具箱"

[1.1 核心设计理念](#1.1 核心设计理念)

[1.2 实战:第一个Agent](#1.2 实战:第一个Agent)

[1.3 核心组件深度解析](#1.3 核心组件深度解析)


引言:当AI需要"动手做事"

让ChatGPT写首诗很容易,信手拈来,但如果让它帮你查查现在的天气、订一张明天的机票,或者给老板发封邮件呢?这时候光靠它那张"嘴"可就不行了,它得有"手"和"脚",这就需要Agent闪亮登场了

简单来说,如果大模型是那个博学多才的大脑,那Agent就是给它装上了四肢和感官,让它不仅能"说",还能"做"

今天我们就来聊聊LangChain,这个让大模型长出三头六臂的魔法工具箱

第一部分:LangChain------AI应用的"工具箱"

1.1 核心设计理念

LangChain的设计理念其实很朴素,就是模块化。就像玩乐高积木一样,它把构建AI应用所需的各种功能都封装成了独立的模块。你想搭个聊天机器人?拿几块积木拼一下。想做一个能上网的助手?再换几块积木拼一下

这种设计让我们可以灵活地组合各种能力,而不必从头造轮子

来看看LangChain的核心组件全景图:

复制代码

1.2 实战:第一个Agent

光说不练假把式,我们直接上代码。这是一个最简单的ReAct Agent,它能使用工具来回答问题

python 复制代码
# 一个简单的ReAct Agent示例
from langchain.agents import initialize_agent, Tool
from langchain.llms import OpenAI

# 定义工具:这是Agent的"手"
def search_weather(city):
    """查询城市天气"""
    # 实际场景这里会调用天气API,这里为了演示直接返回模拟数据
    return f"{city}今天晴天,气温20-25℃"

# 将函数封装成Tool对象
tools = [
    Tool(
        name="WeatherSearch",
        func=search_weather,
        description="用于查询天气情况"
    )
]

# 创建Agent
# zero-shot-react-description 表示Agent会根据工具描述来决定是否使用工具
# 这里的OpenAI()需要配置环境变量OPENAI_API_KEY
agent = initialize_agent(tools, OpenAI(), agent="zero-shot-react-description")

# 让Agent干活
agent.run("北京今天适合出门吗?")

代码解析

这段代码的核心在于tools列表。

我们把一个普通的Python函数search_weather包装成了Tool。当Agent收到"北京今天适合出门吗?"这个问题时,它会分析语义,发现需要查询天气,于是就会自动调用WeatherSearch工具,拿到结果后再结合自己的语言能力,告诉你"今天天气不错,适合出门"

1.3 核心组件深度解析

LangChain里的组件眼花缭乱,到底该怎么选?我总结了一个表格,帮你快速理清思路:

|------------|------|----------------------------------------------------------------|
| 组件 | 作用 | 选型建议 |
| LLM | 决策大脑 | 复杂任务(如逻辑推理)建议用GPT-4或Claude-3,简单任务(如分类、摘要)用GPT-3.5或国产大模型即可,省钱又快 |
| Tools | 执行手脚 | description一定要写清楚,这直接决定了模型会不会用这个工具。另外必须做好错误处理,防止工具报错导致整个程序崩溃 |
| Memory | 记忆存储 | Demo阶段可以用内存存储,但在生产环境务必用Redis或数据库,否则服务重启记忆就没了 |
| Agent | 执行器 | 简单的对话场景用Conversational Agent,需要复杂规划的任务考虑Plan-and-execute类型 |

第一篇就先聊到这,下一篇我们进阶一下,看看当Agent需要"思考"的时候,LangChain可能会显得有点力不从心,这时候就该LangGraph出场了

相关推荐
lijianhua_97127 小时前
国内某顶级大学内部用的ai自动生成论文的提示词
人工智能
蔡俊锋7 小时前
用AI实现乐高式大型可插拔系统的技术方案
人工智能·ai工程·ai原子能力·ai乐高工程
自然语7 小时前
人工智能之数字生命 认知架构白皮书 第7章
人工智能·架构
大熊背7 小时前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
一如既往の7 小时前
LangChain 是什么
langchain
eastyuxiao7 小时前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
诸葛务农7 小时前
AGI 主要技术路径及核心技术:归一融合及未来之路5
大数据·人工智能
光影少年7 小时前
AI Agent智能体开发
人工智能·aigc·ai编程
ai生成式引擎优化技术8 小时前
TSPR-WEB-LLM-HIC (TWLH四元结构)AI生成式引擎(GEO)技术白皮书
人工智能
帐篷Li8 小时前
9Router:开源AI路由网关的架构设计与技术实现深度解析
人工智能