欢迎光临
我们一直在努力

使用 LangChain 构建你的第一个 AI Agent

使用 LangChain 构建你的第一个 AI Agent

什么是 LangChain?

LangChain 是目前最流行的 AI Agent 开发框架之一。它提供了一套完整的工具链,帮助开发者快速构建基于大语言模型的应用程序。

LangChain 的核心理念:将 LLM 与外部工具、数据源、记忆系统连接起来,构建真正有用的 AI 应用。

环境准备

# 安装 LangChain
pip install langchain
pip install langchain-openai

# 设置 API 密钥
export OPENAI_API_KEY="your-api-key"

构建第一个 Agent

步骤 1:定义工具

from langchain.tools import BaseTool
from langchain.agents import Tool

# 自定义搜索工具
class SearchTool(BaseTool):
name = "search"
description = "用于搜索网络信息,输入应该是搜索关键词"

def _run(self, query: str):
# 这里接入你的搜索 API
return f"搜索结果:{query} 的相关信息…"

async def _arun(self, query: str):
raise NotImplementedError("不支持异步")

# 数学计算工具
from langchain import LLMMathChain

math_chain = LLMMathChain(llm=llm)

tools = [
Tool(
name="Search",
func=SearchTool().run,
description="搜索网络信息"
),
Tool(
name="Calculator",
func=math_chain.run,
description="进行数学计算"
)
]

步骤 2:初始化 Agent

from langchain.agents import initialize_agent, AgentType
from langchain_openai import ChatOpenAI

llm = ChatOpenAI(temperature=0)

agent = initialize_agent(
tools,
llm,
agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION,
verbose=True
)

# 运行 Agent
result = agent.run("2024年最新的Python版本是多少?它的平方根是多少?")
print(result)

步骤 3:查看执行过程

> Entering new AgentExecutor chain…

Thought: 我需要查询2024年最新的Python版本
Action: Search
Action Input: 2024年最新Python版本
Observation: Python 3.12 是2024年最新的稳定版本

Thought: 现在我需要计算3.12的平方根
Action: Calculator
Action Input: sqrt(3.12)
Observation: 1.766352…

Final Answer: 2024年最新Python版本是3.12,其平方根约为1.766

> Finished chain.

Agent 类型详解

Agent 类型适用场景特点
ZERO_SHOT_REACT 通用场景 无需示例,直接推理
CHAT_ZERO_SHOT_REACT 对话场景 适合聊天模型
STRUCTURED_CHAT 复杂参数 支持多参数工具
OPENAI_FUNCTIONS OpenAI 模型 使用 Function Calling

添加记忆功能

from langchain.memory import ConversationBufferMemory

memory = ConversationBufferMemory(
memory_key="chat_history",
return_messages=True
)

agent = initialize_agent(
tools,
llm,
agent=AgentType.CONVERSATIONAL_REACT_DESCRIPTION,
memory=memory,
verbose=True
)

# 现在 Agent 可以记住对话历史
agent.run("你好,我叫小明")
agent.run("我的名字是什么?") # 能正确回答"小明"

自定义工具的最佳实践

  • 描述要清晰:让 LLM 知道什么时候使用该工具
  • 输入要简单:避免复杂的参数结构
  • 错误处理:返回友好的错误信息
  • 超时控制:防止工具长时间无响应
  • # 好的工具描述示例
    good_tool = Tool(
    name="weather",
    func=get_weather,
    description="""
    获取指定城市的天气信息。
    输入格式:城市名称,如"北京"、"上海"。
    返回:温度、天气状况、湿度等信息。
    """

    )

    总结

    通过 LangChain,你可以在 30 分钟内构建一个功能完整的 AI Agent。关键是要:

    • 选择合适的 Agent 类型
    • 设计好用的工具
    • 管理好对话记忆

    下一步:学习 ReAct 模式,让 Agent 更智能地推理。

    赞(0)
    未经允许不得转载:171主机测评 » 使用 LangChain 构建你的第一个 AI Agent
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址