LangChain 0.3 快速入门:从零构建你的第一个 AI Agent
一、前言
LangChain 作为最流行的 AI Agent 开发框架之一,在 2024 年底发布了 0.3 大版本,带来了全新的架构设计和更简洁的 API。对于刚接触 AI Agent 开发的新手来说,LangChain 0.3 是一个绝佳的入门选择。
本教程将手把手教你从零开始,用 LangChain 0.3 构建一个能联网搜索、能调用工具的简单 AI Agent。不需要任何前置经验,跟着做就行。
二、前置条件
- Python 3.9 或更高版本
- 一个 OpenAI API Key(或其他 LLM 提供商的 API Key)
- 基础 Python 编程知识
- 稳定的网络环境(国内用户建议配置代理)
三、环境搭建
步骤 1:创建虚拟环境
- # 创建项目目录
- mkdir my-first-agent
- cd my-first-agent
- # 创建虚拟环境
- python -m venv venv
- # 激活虚拟环境
- # Windows:
- venv\Scripts\activate
- # macOS/Linux:
- source venv/bin/activate
复制代码
步骤 2:安装依赖
- # 安装 LangChain 0.3 核心包
- pip install langchain==0.3.0
- # 安装 OpenAI 集成
- pip install langchain-openai
- # 安装社区工具包(包含搜索等工具)
- pip install langchain-community
复制代码
步骤 3:配置 API Key
- # 创建 .env 文件
- echo "OPENAI_API_KEY=your_api_key_here" > .env
复制代码
四、构建第一个 Agent
步骤 1:导入必要模块
- from langchain import hub
- from langchain.agents import create_openai_functions_agent, AgentExecutor
- from langchain_openai import ChatOpenAI
- from langchain_community.tools import DuckDuckGoSearchRun
- from dotenv import load_dotenv
- # 加载环境变量
- load_dotenv()
复制代码
步骤 2:定义工具
- # 创建搜索工具
- search = DuckDuckGoSearchRun()
- # 工具列表
- tools = [search]
复制代码
步骤 3:创建 Agent
- # 加载预设的 prompt 模板
- prompt = hub.pull("hwchase17/openai-functions-agent")
- # 初始化 LLM
- llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
- # 创建 Agent
- agent = create_openai_functions_agent(llm, tools, prompt)
- # 创建执行器
- agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
复制代码
步骤 4:运行 Agent
- # 测试 Agent
- response = agent_executor.invoke({
- "input": "2024年诺贝尔物理学奖得主是谁?请搜索最新信息。"
- })
- print(response["output"])
复制代码
五、完整代码示例
- from langchain import hub
- from langchain.agents import create_openai_functions_agent, AgentExecutor
- from langchain_openai import ChatOpenAI
- from langchain_community.tools import DuckDuckGoSearchRun
- from dotenv import load_dotenv
- load_dotenv()
- # 工具
- search = DuckDuckGoSearchRun()
- tools = [search]
- # Agent 配置
- prompt = hub.pull("hwchase17/openai-functions-agent")
- llm = ChatOpenAI(model="gpt-4o-mini", temperature=0)
- agent = create_openai_functions_agent(llm, tools, prompt)
- agent_executor = AgentExecutor(agent=agent, tools=tools, verbose=True)
- # 交互式运行
- while True:
- user_input = input("\n请输入问题(输入 quit 退出):")
- if user_input.lower() == "quit":
- break
-
- response = agent_executor.invoke({"input": user_input})
- print(f"\nAgent 回答:{response['output']}")
复制代码
六、运行验证
保存为 agent.py,运行:
如果看到 Agent 的思考过程(Thought → Action → Observation → Final Answer),说明运行成功。
七、常见问题
- Q: 提示 "No module named 'langchain'"?
A: 确认虚拟环境已激活,且 pip install 成功执行。
- Q: API Key 报错?
A: 检查 .env 文件路径是否正确,或直接在代码中设置 os.environ["OPENAI_API_KEY"] = "your-key"。
- Q: 搜索工具返回空结果?
A: DuckDuckGo 在国内可能不稳定,可尝试使用 BingSearch 或自定义搜索工具。
- Q: 如何添加更多工具?
A: LangChain 社区提供了大量预置工具,如计算器、天气查询、数据库操作等,只需导入并加入 tools 列表即可。
- Q: 0.3 和 0.2 版本有什么区别?
A: 0.3 版本统一了 Agent 创建接口,简化了工具调用流程,推荐使用新版本的 create_openai_functions_agent。
八、进阶方向
- 学习 LangGraph 构建复杂工作流
- 使用 LangSmith 调试和监控 Agent
- 接入自定义工具(如数据库查询、API 调用)
- 尝试其他 LLM 提供商(Claude、Gemini、本地模型)
九、总结
通过本教程,你已经成功搭建了一个能联网搜索的 AI Agent。LangChain 0.3 的 API 设计更加简洁,降低了新手入门门槛。
下一步建议:尝试给 Agent 添加更多工具,或者使用 LangGraph 构建多步骤的复杂工作流。
有问题欢迎在评论区交流! |