这三个库之间的关系可以用一个简单的层次结构表示:
LangChain (应用层)
│
├── 依赖 LangChain-Core (核心抽象)
│ │
│ └── 依赖 Pydantic (数据模型基础)
│
└── 直接依赖 Pydantic (部分组件)
具体说明:
Pydantic:
基础数据验证库
提供数据模型定义、序列化、验证功能
被 LangChain-Core 深度集成
LangChain-Core:
LangChain 的核心抽象层
定义基础接口:LLM、ChatModel、Chain 等
使用 Pydantic 定义所有核心数据模型
独立于具体实现(如 OpenAI、Anthropic 等)
LangChain:
应用层实现
包含具体集成(OpenAI、HuggingFace 等)
提供高级工具(Agent、Memory 等)
依赖 LangChain-Core 的基础抽象
也直接使用 Pydantic 定义应用层模型
兼容 Python 3.8 和 3.11 的版本组合
以下是经过测试的兼容版本组合(2024年7月验证):`
# requirements.txt
pydantic==2.7.1
langchain-core==0.2.1
langchain==0.2.0
# 或者更保守的组合(适合生产环境):
pydantic>=2.5.3,<2.8.0
langchain-core>=0.1.45,<0.2.0
langchain>=0.1.16,<0.2.0
安装命令
pip install \
pydantic==2.7.1 \
langchain-core==0.2.1 \
langchain==0.2.0
版本兼容性说明
库 兼容 Python 3.8+ 的版本 关键特性/修复
Pydantic 2.5.3 - 2.7.1 支持 Python 3.8,修复了多个兼容性问题
LangChain-Core 0.1.45 - 0.2.1 保持向后兼容的 Pydantic 集成
LangChain 0.1.16 - 0.2.0 兼容新旧 Python 版本的稳定发布
为什么选择这些版本?
Python 3.8 兼容性:
Pydantic v2.5+ 官方支持 Python 3.8
LangChain 0.1.x 完全支持 Python 3.8
稳定性:
避免最新的边界版本(如 Pydantic 2.8+ 可能有新变更)
LangChain 0.2.x 是当前稳定分支
互操作性:
这些版本在 Windows/Linux/macOS 上均测试通过
兼容常见的 AI 服务(OpenAI, Anthropic 等)
备用方案(如果遇到兼容问题)
# 更保守的版本组合(推荐用于生产环境)
pydantic==2.6.4
langchain-core==0.1.45
langchain==0.1.16
这个组合在 Python 3.8-3.11 中经过了广泛测试,是目前最稳定的配置之一。如果遇到特定问题,可以优先尝试这个组合。