LangGraph 第4章:环境搭建
安装 LangGraph
使用 pip 安装
LangGraph 是通过 Python 包管理的,推荐使用 pip 安装:
# 安装 LangGraph 核心库
pip install langgraph
# 同时安装常用的配套库
pip install langchain-core langchain-openai
安装可选依赖
根据你的需求,可以选择安装以下扩展:
| 包名 | 用途 | 安装命令 |
|---|---|---|
langgraph-checkpoint-sqlite | SQLite 持久化支持 | pip install langgraph-checkpoint-sqlite |
langgraph-checkpoint-postgres | PostgreSQL 持久化支持 | pip install langgraph-checkpoint-postgres |
langgraph-sdk | LangGraph Cloud SDK | pip install langgraph-sdk |
tavily-python | Tavily 搜索 API | pip install tavily-python |
langchain-community | 社区集成工具 | pip install langchain-community |
使用虚拟环境
推荐在虚拟环境中安装,避免依赖冲突:
# 创建虚拟环境
python -m venv langgraph-env
# 激活虚拟环境
# Linux/macOS:
source langgraph-env/bin/activate
# Windows:
# langgraph-env\Scripts\activate
# 在虚拟环境中安装
pip install langgraph langchain-openai
API Key 配置
LangGraph 本身不需要 API Key,但它依赖 LLM 和工具服务。以下是最常用的配置方式:
OpenAI API Key
# 方式一:环境变量(推荐)
export OPENAI_API_KEY="sk-your-key-here"
# 方式二:在代码中直接设置
import os
os.environ["OPENAI_API_KEY"] = "sk-your-key-here"
其他 LLM 提供商
# Anthropic Claude
export ANTHROPIC_API_KEY="sk-ant-your-key"
# Google Gemini
export GOOGLE_API_KEY="your-gemini-key"
# 本地模型(Ollama)
# 无需 API Key,但需要安装 ollama 并运行模型
Tavily 搜索 API(Agent 可选)
Tavily 是为 LLM Agent 优化的搜索 API:
export TAVILY_API_KEY="tvly-your-key"
from langchain_community.tools.tavily_search import TavilySearchResults
search_tool = TavilySearchResults(max_results=3)
验证安装
创建一个简单的验证脚本来确认所有依赖正确安装:
# check_env.py
import sys
def check_installation():
checks = {
"langgraph": False,
"langchain_core": False,
"langchain_openai": False,
"OPENAI_API_KEY": False
}
try:
import langgraph
checks["langgraph"] = True
print(f" [OK] langgraph {langgraph.__version__}")
except ImportError:
print(" [FAIL] langgraph 未安装")
try:
import langchain_core
checks["langchain_core"] = True
print(f" [OK] langchain_core {langchain_core.__version__}")
except ImportError:
print(" [FAIL] langchain_core 未安装")
try:
from langchain_openai import ChatOpenAI
checks["langchain_openai"] = True
print(" [OK] langchain_openai")
except ImportError:
print(" [FAIL] langchain_openai 未安装")
import os
if os.environ.get("OPENAI_API_KEY"):
checks["OPENAI_API_KEY"] = True
api_key = os.environ["OPENAI_API_KEY"]
print(f" [OK] OPENAI_API_KEY 已配置 (...{api_key[-4:]})")
else:
print(" [WARN] OPENAI_API_KEY 未配置")
passed = all(checks.values())
print(f"\n检查结果: {'全部通过!' if passed else '部分未通过'}")
return passed
if __name__ == "__main__":
check_installation()
运行验证:
python check_env.py
项目结构建议
一个典型的 LangGraph 项目结构如下:
my-langgraph-project/
|-- .env # API Key 配置(不要提交到 Git)
|-- .env.example # API Key 模板
|-- requirements.txt # 依赖清单
|-- main.py # 入口文件
|-- graph/
| |-- __init__.py
| |-- state.py # 状态定义
| |-- nodes.py # 节点函数
| |-- edges.py # 边定义
| |-- graph.py # 图构建与编译
|-- tools/
| |-- __init__.py
| |-- search.py # 搜索工具
| |-- calculator.py # 计算工具
|-- utils/
| |-- __init__.py
| |-- helpers.py # 辅助函数
|-- tests/
| |-- __init__.py
| |-- test_graph.py # 图测试
requirements.txt 示例
langgraph>=0.2.0
langchain-core>=0.3.0
langchain-openai>=0.2.0
tavily-python>=0.5.0
python-dotenv>=1.0.0
加载 .env 配置
# 在 main.py 或入口文件中加载
from dotenv import load_dotenv
load_dotenv() # 从 .env 文件加载环境变量
排除故障
| 问题 | 原因 | 解决方案 |
|---|---|---|
| ImportError: No module named 'langgraph' | 未安装 | pip install langgraph |
| AuthenticationError | API Key 错误 | 检查 OPENAI_API_KEY 环境变量 |
| RateLimitError | API 调用超限 | 降低请求频率或升级套餐 |
| ModuleNotFoundError | 缺少依赖 | 检查 requirements.txt 确认所有依赖已安装 |
环境搭建完成后,下一章我们将编写第一个 LangGraph 程序。