从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出场了

相关推荐
CIO_Alliance9 分钟前
AI基础系列(1)| 向量、矩阵、张量在AI中分别扮演什么角色?
大数据·人工智能·线性代数·ai·矩阵·企业cio联盟·企业级ai化转型
通问AI18 分钟前
人形机器人量产技术笔记:从5500台出货看规模化路径
人工智能
无凭25 分钟前
字节Agent框架 DeerFlow 的可观测性(二):运行中的中间事件是怎样到达前端的?
人工智能
doitnow200034 分钟前
2026淘宝运营机构课程体系怎么比较?
大数据·人工智能
网渡科技1 小时前
大模型推理成本优化实战:vLLM 与 KV Cache 调优指南
人工智能
土豆12501 小时前
半年 20 万 Star 的「反 Vibe Coding」:Matt Pocock 是如何用一套 Skill 驯服 AI 编程代理的
人工智能·ai编程
yuhulkjv3351 小时前
Gemini鸿蒙版导出word格式的终极解法:AI 导出鸭如何重构AI内容落地链路
人工智能·ai·word·harmonyos·ai导出鸭
雪的季节1 小时前
OPENCV学习(补充1)
人工智能·opencv·学习
9i编程1 小时前
四大准则也还是不靠谱啊:定好了铁律,AI 照样偷懒给你看
人工智能·openai·ai编程
狂僧1 小时前
从 Markdown、Wiki 到 AI 知识库:本体与知识图谱到底处在哪一层?
人工智能