LangChain 环境搭建
本章将详细介绍如何搭建 LangChain 的开发环境,包括 Python 环境配置、LangChain 安装以及各种模型提供商的 API 密钥获取。
Python 环境要求
版本要求
LangChain 需要 Python 3.10 或更高版本:
# 检查 Python 版本
python --version
# 推荐版本
# Python 3.10 - 3.12 稳定性较好
# Python 3.13+ 可能存在兼容性问题
创建虚拟环境
为什么需要虚拟环境?
虚拟环境可以隔离项目依赖,避免不同项目之间的包版本冲突。这是 Python 开发的最佳实践。
使用 venv(推荐)
# 创建虚拟环境
python -m venv langchain-env
# 激活虚拟环境
# Linux/Mac:
source langchain-env/bin/activate
# Windows:
langchain-env\Scripts\activate
# 退出虚拟环境
deactivate
使用 conda
# 创建环境
conda create -n langchain python=3.11
# 激活环境
conda activate langchain
# 退出环境
conda deactivate
安装 LangChain
基础安装
# 安装 LangChain 核心包
pip install langchain
安装模型集成包
LangChain 需要为不同的模型提供商安装相应的集成包:
# OpenAI 模型支持(必须)
pip install langchain-openai
# Anthropic 模型支持(必须)
pip install langchain-anthropic
# Google 模型支持
pip install langchain-google-genai
# AWS Bedrock 支持
pip install langchain-aws
# Ollama 本地模型支持
pip install langchain-ollama
安装所有集成(可选)
如果不想逐个安装,可以安装所有集成:
# 安装所有社区集成
pip install langchain-community
预发布版本
如果你想体验最新功能,可以安装预发布版本:
pip install --pre -U langchain
安装常用扩展
根据你的使用场景,可能还需要安装以下扩展:
RAG 相关
# 文档加载器
pip install langchain-community
# 文本分割
pip install langchain-text-splitters
# 向量存储
pip install langchain-pinecone langchain-milvus langchain-chroma
开发工具
# Jupyter 支持
pip install jupyter
# 日志和监控
pip install langsmith
环境变量配置
API 密钥获取
大多数 LLM 提供商都需要 API 密钥才能使用。以下是获取方式:
OpenAI
- 访问 OpenAI Platform
- 注册/登录账号
- 进入 API Keys 页面
- 创建新的 API Key
Anthropic
- 访问 Anthropic Console
- 注册/登录账号
- 进入 API Keys 页面
- 创建新的 API Key
Google
- 访问 Google AI Studio
- 创建 API Key
配置环境变量
Linux/Mac
# 写入 .bashrc 或 .zshrc
export OPENAI_API_KEY="sk-..."
export ANTHROPIC_API_KEY="sk-ant-..."
export GOOGLE_API_KEY="AIza..."
Windows
# 使用 set 命令(临时)
set OPENAI_API_KEY=sk-...
# 或写入系统环境变量
[System.Environment]::SetEnvironmentVariable("OPENAI_API_KEY", "sk-...", "User")
在代码中设置
import os
# 在代码中设置(不推荐,会泄露到版本控制)
os.environ["OPENAI_API_KEY"] = "sk-..."
# 更好的方式:使用 .env 文件
# 1. 安装 python-dotenv
pip install python-dotenv
# 2. 创建 .env 文件
# OPENAI_API_KEY=sk-...
# ANTHROPIC_API_KEY=sk-ant-...
# 3. 加载 .env 文件
from dotenv import load_dotenv
load_dotenv() # 默认读取 .env 文件
.env 文件示例
创建 .env 文件来管理敏感的配置信息:
# OpenAI
OPENAI_API_KEY=sk-xxxxx
# Anthropic
ANTHROPIC_API_KEY=sk-ant-xxxxx
# Google
GOOGLE_API_KEY=AIzaSyxxxxx
# Pinecone (向量数据库)
PINECONE_API_KEY=xxxxx
# LangSmith (可选,用于调试监控)
LANGSMITH_TRACING=true
LANGSMITH_API_KEY=ls-xxxxx
安全警告
- 不要 将
.env文件提交到版本控制系统 - 在
.gitignore中添加.env - 生产环境使用环境变量或密钥管理服务
验证安装
基本验证
# 检查 LangChain 版本
import langchain
print(langchain.__version__)
快速测试
创建一个测试脚本来验证环境配置:
# test_env.py
from langchain.chat_models import init_chat_model
from langchain.schema import HumanMessage
# 初始化模型(以 OpenAI 为例)
try:
model = init_chat_model(
model="gpt-4o-mini",
model_provider="openai"
)
# 发送测试消息
response = model.invoke([HumanMessage(content="Hello, say 'OK' if you can hear me")])
print(f"响应: {response.content}")
print("环境配置成功!")
except Exception as e:
print(f"错误: {e}")
print("请检查 API Key 配置是否正确")
运行测试:
python test_env.py
如果看到 "环境配置成功!" 的消息,说明环境搭建完成。
LangSmith 配置(可选)
LangSmith 是 LangChain 官方提供的调试和监控工具,可以帮助你:
- 可视化 Chain 的执行过程
- 调试 Agent 行为
- 评估输出质量
开启 LangSmith
# 设置环境变量
export LANGSMITH_TRACING=true
export LANGSMITH_API_KEY="ls-..."
或在代码中:
import os
os.environ["LANGSMITH_TRACING"] = "true"
os.environ["LANGSMITH_API_KEY"] = "ls-..."
访问 LangSmith
- 访问 LangSmith
- 注册账号
- 创建项目
- 查看 traces
常见问题
1. 导入错误
ModuleNotFoundError: No module named 'langchain'
解决:确保虚拟环境已激活,然后重新安装:
pip install langchain
2. API 密钥错误
AuthenticationError: Invalid API Key
解决:
- 检查 API Key 是否正确
- 检查环境变量是否设置正确
- 确认 API Key 有足够的余额
3. 网络问题
在中国大陆使用 OpenAI API 可能需要配置代理:
import os
os.environ["OPENAI_PROXY"] = "http://127.0.0.1:7890"
4. 版本兼容问题
如果你使用的代码是基于旧版本 LangChain v0.x 编写的,可能会出现 API 不兼容的问题:
# 查看当前版本
pip show langchain
# 安装特定版本
pip install langchain==0.3.0
项目结构建议
一个典型的 LangChain 项目结构:
my-langchain-app/
├── .env # 环境变量
├── .gitignore # 忽略敏感文件
├── requirements.txt # 依赖列表
├── app.py # 主应用
├── chains/ # Chain 定义
│ └── qa_chain.py
├── agents/ # Agent 定义
│ └── assistant.py
├── tools/ # 工具定义
│ └── custom_tools.py
├── memory/ # 记忆组件
│ └── conversation.py
└── tests/ # 测试
└── test_app.py
requirements.txt 示例
langchain>=0.3.0
langchain-openai>=0.2.0
langchain-community>=0.3.0
langchain-text-splitters>=0.3.0
python-dotenv>=1.0.0
下一步
环境搭建完成后,接下来学习: