Agent框架初学者LangChain
从零开始:构建你的第一个AI Agent
2025-01-10·15 分钟·Agent框架
从零开始:构建你的第一个AI Agent
欢迎来到Agent开发的世界!在本文中,我们将从零开始,构建你的第一个AI Agent。不用担心,我们会一步步来,确保即使你是完全的初学者也能跟上。
什么是AI Agent?
AI Agent(人工智能代理)是一个能够自主感知环境、做出决策并执行行动的智能系统。与传统的聊天机器人不同,Agent可以:
- 理解复杂指令
- 规划执行步骤
- 使用外部工具
- 从错误中学习
简单来说,Agent就是一个"会思考"的AI助手!
准备工作
在开始之前,你需要准备以下工具:
1. 安装Python
确保你的电脑上安装了Python 3.8或更高版本。你可以在终端中运行:
python --version
2. 安装必要的库
打开终端,运行以下命令安装LangChain和OpenAI:
pip install langchain openai python-dotenv
3. 获取OpenAI API密钥
- 访问 OpenAI官网
- 注册账号并登录
- 在API密钥页面创建新的密钥
- 重要:妥善保管你的密钥,不要分享给他人!
创建你的第一个Agent
让我们开始编写代码!创建一个新文件 my_first_agent.py:
步骤1:设置环境
首先,我们需要设置API密钥。创建一个 .env 文件:
OPENAI_API_KEY=你的API密钥
步骤2:导入必要的库
import os
from langchain.agents import AgentType, initialize_agent
from langchain.tools import Tool
from langchain_openai import ChatOpenAI
from dotenv import load_dotenv
# 加载环境变量
load_dotenv()
步骤3:创建语言模型
# 初始化OpenAI模型
llm = ChatOpenAI(
model="gpt-4",
temperature=0,
openai_api_key=os.getenv("OPENAI_API_KEY")
)
步骤4:定义工具
Agent需要工具来完成任务。让我们创建一个简单的计算器工具:
def calculator(expression: str) -> str:
"""简单的计算器工具,可以执行基本的数学运算"""
try:
result = eval(expression)
return f"计算结果: {result}"
except Exception as e:
return f"计算错误: {str(e)}"
# 创建工具列表
tools = [
Tool(
name="计算器",
func=calculator,
description="用于执行数学计算,输入数学表达式,返回计算结果"
)
]
步骤5:初始化Agent
# 创建Agent
agent = initialize_agent(
tools=tools,
llm=llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True # 设置为True可以看到Agent的思考过程
)
步骤6:与Agent交互
# 测试Agent
question = "帮我计算:(25 * 4) + (100 / 5)"
response = agent.run(question)
print(f"\n问题: {question}")
print(f"回答: {response}")
运行你的Agent
现在,让我们运行这个程序:
python my_first_agent.py
你应该会看到Agent的思考过程和最终答案!
理解Agent的工作原理
让我们分解一下发生了什么:
- 接收输入:Agent接收到你的问题
- 思考:Agent分析问题,决定需要使用哪个工具
- 行动:Agent调用计算器工具
- 观察:Agent查看工具返回的结果
- 回答:Agent基于结果给出最终答案
这个过程叫做 ReAct(Reasoning + Acting),是Agent的核心工作模式。
进阶:添加更多工具
让我们添加一个搜索工具,让Agent可以上网查找信息:
def search_web(query: str) -> str:
"""模拟网络搜索功能"""
# 这里可以使用真实的搜索API
return f"关于'{query}'的搜索结果..."
# 更新工具列表
tools = [
Tool(
name="计算器",
func=calculator,
description="用于执行数学计算"
),
Tool(
name="搜索引擎",
func=search_web,
description="用于搜索网络信息"
)
]
常见问题解答
Q: Agent不会回答我的问题怎么办?
A: 检查以下几点:
- API密钥是否正确
- 工具描述是否清晰
- 问题是否过于复杂
Q: 如何让Agent更智能?
A: 你可以:
- 使用更强大的模型(如GPT-4)
- 添加更多工具
- 优化提示词
- 使用记忆功能
Q: Agent会出错吗?
A: 当然!Agent也会犯错。重要的是:
- 提供清晰的工具描述
- 设置适当的温度参数
- 添加错误处理机制
下一步
恭喜你创建了第一个AI Agent!🎉
接下来,你可以:
- 学习RAG技术:让Agent拥有知识库
- 探索多Agent系统:让多个Agent协作
- 深入学习提示工程:优化Agent的表现
- 构建实际应用:将Agent集成到真实项目中
总结
在本文中,我们学习了:
- ✅ 什么是AI Agent
- ✅ 如何设置开发环境
- ✅ 如何使用LangChain构建Agent
- ✅ Agent的工作原理
- ✅ 如何添加工具
记住,Agent开发是一个迭代的过程。不断尝试、测试和改进,你会发现Agent的无限可能!
祝你在Agent开发的旅程中一切顺利! 🚀
参考资源: