前言
在 LangGraph 的进阶领域中,工具调用(Tool Calling)允许 AI 理解用户需求并调用外部工具获取数据。本文将带你掌握 ReAct(Reasoning + Acting)模式的完整实现,让 AI 能够主动调用外部工具获取实时信息。
一、核心概念
1.1 什么是工具调用
工具调用(Tool Calling)是 LLM 的重要能力,它允许 AI:
- 推理(Reasoning):理解用户需求,判断需要什么信息
- 行动(Acting):调用外部工具获取数据
- 观察(Observation):整合工具结果生成回答
这就是经典的 ReAct 模式。
1.2 为什么需要工具调用
| 场景 | 纯 LLM | 带工具调用的 LLM |
|---|---|---|
| 实时信息 | ❌ 知识截止,无法回答 | ✅ 调用搜索工具获取 |
| 数学计算 | ❌ 容易出错 | ✅ 调用计算器精确计算 |
| 数据库查询 | ❌ 无法访问 | ✅ 调用 SQL 工具查询 |
| API 调用 | ❌ 无法执行 | ✅ 调用 API 工具操作 |
工具调用让 AI 从'纸上谈兵'变为'实干家'。
1.3 核心组件
┌─────────────────────────────────────────────────────────┐
│ 工具调用架构 │
├─────────────────────────────────────────────────────────┤
│ 1. 工具定义 │ TavilySearch、Calculator 等 │
│ 2. 工具绑定 │ llm.bind_tools(tools) │
│ 3. 工具节点 │ BasicToolNode 执行工具调用 │
│ 4. 条件路由 │ route_tools 判断是否需要工具 │
│ 5. 循环执行 │ chatbot ↔ tools 形成 ReAct 循环 │
└─────────────────────────────────────────────────────────┘
二、环境准备
2.1 安装依赖
pip install langgraph langchain langchain-openai langchain-community pydantic python-dotenv typing-extensions
2.2 配置 API 密钥
创建 .env 文件:
# API 密钥
SILICONFLOW_API_KEY=your_siliconflow_key
# Tavily 搜索引擎 API 密钥
TAVILY_API_KEY=your_tavily_key
获取 Tavily API Key:访问 Tavily 注册获取免费 API Key。


