2.1 安装与配置
2.1 安装与配置
通过pip/conda安装LangChain
LangChain 支持通过Python包管理工具pip
和Anaconda的conda
快速安装,适用于不同开发环境。以下是详细步骤:
1. 使用pip安装(推荐)
# 安装核心库(基础功能)
pip install langchain-core
# 安装完整库(包含社区集成模块,如OpenAI、HuggingFace等)
pip install langchain[all]
# 仅安装特定模块(按需选择,减少依赖冲突)
pip install langchain-openai langchain-community # 示例:OpenAI + 社区工具
2. 使用conda安装
# 创建并激活虚拟环境(可选)
conda create -n langchain-env python=3.10
conda activate langchain-env
# 通过conda-forge频道安装
conda install -c conda-forge langchain
注意:
- 若需使用最新功能,可通过GitHub源码安装:
pip install git+https://github.com/langchain-ai/langchain.git@v0.2.0
- 部分集成工具(如向量数据库)需额外安装依赖:
pip install chromadb # 示例:Chroma向量数据库支持
配置API密钥(OpenAI、HuggingFace等)
LangChain 调用外部服务(如OpenAI、HuggingFace)需配置API密钥。以下为常用配置方法:
1. 环境变量配置(推荐)
- Linux/macOS:
# 在终端中设置 export OPENAI_API_KEY="sk-xxx" export HUGGINGFACEHUB_API_TOKEN="hf_xxx"
- Windows(PowerShell):
$env:OPENAI_API_KEY = "sk-xxx" $env:HUGGINGFACEHUB_API_TOKEN = "hf_xxx"
2. 代码中直接传递密钥
from langchain_openai import ChatOpenAI
# 初始化模型时显式传入密钥
llm = ChatOpenAI(openai_api_key="sk-xxx")
3. 密钥管理工具(高级)
- 使用
python-dotenv
管理敏感信息:- 创建
.env
文件:OPENAI_API_KEY=sk-xxx HUGGINGFACEHUB_API_TOKEN=hf_xxx
- 代码中加载:
from dotenv import load_dotenv load_dotenv() # 自动读取.env文件
- 创建
安全提示:
- 永远不要将密钥提交到Git仓库!将
.env
添加到.gitignore
。 - 使用平台密钥管理服务(如AWS Secrets Manager)增强生产环境安全性。
虚拟环境与依赖管理(Poetry/Pipenv)
为避免依赖冲突,建议使用虚拟环境工具隔离项目环境。
1. 使用Poetry(现代化依赖管理)
# 安装Poetry
pip install poetry
# 初始化项目并安装LangChain
poetry init
poetry add langchain[all]
# 激活虚拟环境
poetry shell
2. 使用Pipenv(轻量级替代)
# 安装Pipenv
pip install pipenv
# 创建虚拟环境并安装LangChain
pipenv install langchain[all]
# 激活虚拟环境
pipenv shell
3. 传统venv模块(Python内置)
# 创建虚拟环境
python -m venv myenv
# 激活环境
source myenv/bin/activate # Linux/macOS
myenv\Scripts\activate # Windows
# 安装依赖
pip install langchain[all]
工具对比:
工具 | 优点 | 适用场景 |
---|---|---|
Poetry | 依赖解析精准,支持打包发布 | 复杂项目、团队协作 |
Pipenv | 简单易用,集成依赖锁定 | 小型项目、快速原型开发 |
venv | 无需额外安装,Python原生支持 | 基础隔离需求 |
验证安装
运行以下代码测试是否安装成功:
from langchain_openai import ChatOpenAI
llm = ChatOpenAI(model="gpt-3.5-turbo")
response = llm.invoke("Hello, world!")
print(response.content) # 应输出模型生成的文本
常见问题排查:
- 权限错误:在命令前添加
sudo
(Linux/macOS)或以管理员身份运行终端(Windows)。 - 依赖冲突:使用
poetry update
或pipenv clean
重建依赖树。 - 网络问题:配置代理或使用镜像源(如
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple langchain
)。
下一步建议
完成配置后,可继续学习 2.2 第一个LangChain程序 快速实现问答链与文本生成。