当前位置: 首页 > news >正文

langchain怎么构造agant

使用 LangChain 构造 Agent(智能体)现在已经变得非常简单,尤其是随着 LangChain 1.0 版本的发布,API 更加统一和易用。

你可以根据你的需求选择不同的复杂度。最简单的方式,只需要几行代码就能让大模型“动起来”。

这里我为你提供两种主流的构建方式:一种是极简的“开箱即用”模式,另一种是更灵活的“自定义”模式。

方式一:极简模式(推荐新手)

如果你只是想快速让模型具备搜索或计算能力,可以直接使用 create_react_agent 或 initialize_agent。

核心逻辑:大模型(LLM) + 工具集(Tools) = 智能体(Agent)

1. 安装依赖: pip install langchain langchain-openai python-dotenv

import os
from dotenv import load_dotenv
from langchain_openai import ChatOpenAI
from langchain.agents import create_react_agent, AgentExecutor
from langchain.tools import Tool
from langchain import hub

加载环境变量(把你的API Key放在 .env 文件里)
load_dotenv()

2. 准备“大脑” (LLM)
llm = ChatOpenAI(model="gpt-3.5-turbo", temperature=0)

3. 准备“手脚” (Tools) - 这里以一个简单的计算器为例
def multiply(input_str):
a, b = map(int, input_str.split(','))
return a * b

tools = [
Tool(
name="Calculator",
func=multiply,
description="用于计算两个数字的乘积。输入格式为 '数字A, 数字B'"
)
]

4. 拿到现成的“身体框架” (Prompt)
这是一个通用的Agent提示词模板
prompt = hub.pull("hwchase17/react")

5. 组装智能体
agent = create_react_agent(llm, tools, prompt)
agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)

6. 运行!
result = agent_executor.invoke({"input": "请计算 3 乘以 4 等于多少?"})
print(result)

方式二:自定义逻辑模式(适合复杂任务)

如果你想更深入地控制 Agent 的行为,或者使用旧版本的 LangChain(< 0.1.0),可以使用 initialize_agent。

from langchain.agents import initialize_agent, AgentType
from langchain.memory import ConversationBufferMemory

假设你已经有了 LLM 和 Tools
llm = ChatOpenAI(temperature=0)
tools = [your_tools_here]

为了让AI记得住上下文,我们给它加个“短期记忆”
memory = ConversationBufferMemory(memory_key="chat_history")

初始化 Agent
ZERO_SHOT_REACT_DESCRIPTION 是一种经典的推理模式
agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True, # 开启后可以看到AI思考的过程(非常有趣!)
memory=memory # 注入记忆
)

直接运行
response = agent.run("你好,我是小明。我之前问过什么问题?")

核心组件拆解

为了让你更好地理解,我把构造 Agent 的积木拆解一下:

1. LLM(大脑):负责思考和决策。可以是 GPT、Claude、Llama 或者国产的通义千问等。
2. Tools(工具/手脚):负责执行具体任务。LangChain 社区有几百种工具(搜索、数据库查询、API调用)。
* 比如:TavilySearchResults(联网搜索)、DuckDuckGoSearchRun
3. Agent(决策逻辑):决定什么时候用哪个工具。
4. Memory(记忆):让对话有上下文,不会问了后面忘了前面。
5. AgentExecutor(执行器):负责运行整个循环,防止 AI 进入死循环。

💡 给你一个“万能公式”

如果你想接入联网搜索功能(这是最常用的功能),只需要替换 Tools 部分:

from langchain_community.tools import DuckDuckGoSearchRun
或者使用 Tavily (效果更好)
from langchain_community.tools.tavily_search import TavilySearchResults

search = DuckDuckGoSearchRun()
tools = [
Tool(
name="Search",
func=search.run,
description="当你需要回答实时问题或查找信息时使用"
)
]

总结:
现在的 LangChain 构造 Agent 就像点外卖套餐一样。你只需要准备好 LLM(主食)和 Tools(配菜),然后用 create_react_agent 这个包装器一包,就能得到一个能思考、能行动的 AI 助手了。

http://www.jsqmd.com/news/311938/

相关文章:

  • 干膜VS湿膜:小尺寸PCB小焊盘解析度与制程极限对比
  • 收藏!154万年薪引爆行业:大模型应用开发工程师进阶指南(小白/程序员必看)
  • ACPI源代码分析ACPI!ACPIBuildProcessRunMethodPhaseCheckSta发现PCI设备阶段断点搜集
  • 小尺寸PCB极细线路蚀刻均匀性标准
  • 小尺寸PCB显影与蚀刻池塘效应补偿详解
  • 3.14 ConfigMap和Secret实战:应用配置管理和敏感信息处理
  • 【推广】2026 年三大跨境支付平台(空中云汇 80 张全球牌照护航)核心优势解析
  • 3.15 Kubernetes存储管理:PV、PVC、StorageClass完整实战指南
  • 2026年评价高的不干胶/易碎纸不干胶厂家选购完整指南
  • 2026年知名陕西铝斗拱厂家口碑优选榜(权威调研版)
  • 2026液体香薰深度评测:有实力企业的香薰好物推荐,精油/精油扩香器/香氛香薰机/挂式香薰,香薰OEM代工厂排行榜单
  • 【Hot100|13-LeetCode 189. 轮转数组】
  • 深入解析:协程涉及原理(二)—— 协程的实现
  • 剖析安全的烟花爆竹储存方法,五常市响安烟花竹有妙招
  • 2026郑州家长必看!靠谱发育迟缓康复中心合集
  • 污水第三方托管运营服务选购,嘉佰晟环境价格贵吗
  • ​甲钴胺品牌性价比口碑排行,甲钴胺哪个牌子效果好?2026神经养护TOP10榜单
  • 管道坡口机多少钱,宁波百华价格有竞争力
  • 2026年口碑好的维利日化标签/维利礼品标签品牌厂商推荐(更新)
  • SpringBoot:CloudConfig+Rsa+SecurityCrypto搭配加密yml配置文件属性
  • 2026年质量好的仿古画舫游船/游船厂家口碑推荐汇总
  • 2026年口碑好的敦煌户外服务公司推荐,细聊敦煌特色戈壁体验
  • 剖析HK升学公司,威学一百在武汉香港等地品牌推荐哪家
  • QOJ 1838.Intellectual Implementation 解题报告
  • 2026年中钢减速机厂家推荐:智能制造趋势下的传动方案评测,涵盖自动化与节能改造核心痛点指南
  • 利用Zabbix监控指定IP列表的ping
  • 2026年国内比较好的高架库优质厂家哪家靠谱,智能仓储/全自动仓库/自动化仓库/高架库/立体仓库,高架库供应厂家口碑推荐
  • 微软电脑管家:是解毒剂,还是安慰剂? - 详解
  • 石家庄自闭症干预机构优选指南|专业护航,让星星的孩子不再孤单
  • 实用指南:11.22 脚本 手机termux项目分析(python)