LangGraph 第4章:环境搭建

安装 LangGraph

使用 pip 安装

LangGraph 是通过 Python 包管理的,推荐使用 pip 安装:

# 安装 LangGraph 核心库
pip install langgraph

# 同时安装常用的配套库
pip install langchain-core langchain-openai

安装可选依赖

根据你的需求,可以选择安装以下扩展:

包名用途安装命令
langgraph-checkpoint-sqliteSQLite 持久化支持pip install langgraph-checkpoint-sqlite
langgraph-checkpoint-postgresPostgreSQL 持久化支持pip install langgraph-checkpoint-postgres
langgraph-sdkLangGraph Cloud SDKpip install langgraph-sdk
tavily-pythonTavily 搜索 APIpip 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
AuthenticationErrorAPI Key 错误检查 OPENAI_API_KEY 环境变量
RateLimitErrorAPI 调用超限降低请求频率或升级套餐
ModuleNotFoundError缺少依赖检查 requirements.txt 确认所有依赖已安装

环境搭建完成后,下一章我们将编写第一个 LangGraph 程序。