掘金 人工智能 05月08日 18:03
构建第一个 AI Agent:LangChain 入门实战
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文介绍了如何使用LangChain框架快速构建一个AI Agent。LangChain作为一个专门为构建LLM应用设计的框架,具有组件丰富、灵活组合、支持多模型和社区活跃等优势。文章详细讲解了构建Agent的四个核心组件:LLM、Prompt、Tool和Agent,并通过实战案例演示了如何创建一个能自动查资料并回答问题的Agent。此外,还探讨了Agent的拓展方向,例如加入记忆机制、自定义工具函数和多Agent协作。最后,文章预告了下一篇将探索如何让Agent具备长期记忆。

🛠️LangChain是一个专门为构建LLM应用(特别是Agent)而设计的框架,它拥有丰富的组件,如Prompt模板、记忆机制、工具调用等模块,并且支持灵活组合,可以像乐高一样拼出你想要的Agent。

🧩构建一个最小可用的Agent框架,需要四个核心组件:LLM(语言模型,如ChatOpenAI() 或 ChatGLM())、Prompt(提示词模板,如ChatPromptTemplate.from_messages(...))、Tool(工具函数,例如搜索、计算器、文件读写等)以及Agent(智能体控制逻辑,如initialize_agent(...))。

🚀通过LangChain可以轻松构建一个能自动查资料 + 回答问题的 Agent,首先定义工具函数(例如使用DuckDuckGoSearchRun进行搜索),然后配置语言模型(DeepSeek API 与 OpenAI API 格式兼容),接着初始化Agent,最后运行Agent,即可实现联网搜索并整合内容回答问题。

专栏系列第 2 篇 · 智能体纪元

在上一篇文章中我们介绍了 AI Agent 的基本概念和生态全景,这一篇我们将动手实战:用 LangChain 构建你人生中的第一个 AI Agent!


01. 为什么选择 LangChain?

LangChain 是一个专门为构建 LLM 应用(特别是 Agent)而设计的框架,它的核心优势在于:

LangChain 就像是 AI Agent 的“游戏引擎”,特别适合入门使用。


02. 最小可用 Agent 框架:4 个核心组件

LangChain 中,一个最小的 Agent 由以下部分构成:

组件作用示例
LLM语言模型ChatOpenAI()ChatGLM()
Prompt提示词模板ChatPromptTemplate.from_messages(...)
Tool工具(函数)搜索、计算器、文件读写等
Agent智能体控制逻辑initialize_agent(...)

03. 实战:构建一个带工具调用的 Agent

我们来动手实现一个「能自动查资料 + 回答问题」的 Agent。

📦 环境准备

pip install langchain openai duckduckgo-search

🔧 步骤 1:定义工具函数

from langchain_community.tools import DuckDuckGoSearchRunsearch = DuckDuckGoSearchRun()tools = [search]

🧠 步骤 2:配置语言模型(DeepSeek API 与 OpenAI API 格式兼容)

from langchain_community.chat_models import ChatOpenAIllm = ChatOpenAI(    model='deepseek-chat',    openai_api_key=YOUR_API_KEY,    openai_api_base='https://api.deepseek.com',    max_tokens=1024)

🧩 步骤 3:初始化 Agent

from langchain.agents import initialize_agent, AgentTypeagent = initialize_agent(    tools=tools,    llm=llm,    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,    verbose=True,    handle_parsing_errors=True)

✅ 步骤 4:运行 Agent!

response = agent.invoke({"input": "请用中文回答这个问题:最近有哪些关于AI Agent的新研究?"})print(response)

效果预期:Agent 会自动搜索并整合内容回答你,非常适合做知识助手!

全部代码及输出:

# 导入 DuckDuckGo 搜索工具,用于联网搜索信息from langchain_community.tools import DuckDuckGoSearchRun# 导入 ChatOpenAI 类,用于与兼容 OpenAI 接口的语言模型交互from langchain_community.chat_models import ChatOpenAI# 导入 initialize_agent 和 AgentType,用于创建 LangChain 智能体from langchain.agents import initialize_agent, AgentType# 实例化 DuckDuckGo 搜索工具,作为 agent 可用的工具之一search = DuckDuckGoSearchRun()tools = [search]  # 工具列表,目前只包含搜索工具API_KEY = 'sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'# 创建一个 LLM(大型语言模型)客户端,连接到 DeepSeek 的 OpenAI 兼容接口llm = ChatOpenAI(    model='deepseek-chat',  # 指定使用 deepseek-chat 模型    openai_api_key=API_KEY,  # 使用你的 API 密钥进行认证    openai_api_base='https://api.deepseek.com',  # DeepSeek 的 API 接口地址    max_tokens=1024  # 最大生成 token 数)# 初始化智能体 Agent,使用 Zero-Shot ReAct 模式(零样本推理 + 工具调用)agent = initialize_agent(    tools=tools,    llm=llm,    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,  # agent 类型:基于 ReAct 的 Zero-Shot 智能体    verbose=True,  # 输出 agent 的推理过程,便于调试和观察    handle_parsing_errors=True  # 容错处理,避免格式解析出错时中断)response = agent.invoke({"input": "请用中文回答这个问题:最近有哪些关于AI Agent的新研究?"})print(response)


04. 拓展方向:打造你的「专属智能体」

LangChain 还支持非常多的高级能力,你可以:


05. 小结与预告

今天我们使用 LangChain 快速构建了一个能联网查资料的 AI Agent,体验了最小 Agent 架构的魅力。

下一篇文章,我们将探索如何让 Agent 具备长期记忆,构建更像“人”的智能体,敬请期待!

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

LangChain AI Agent LLM
相关文章