模块化体系
LangChain 1.0 采用模块化架构,将核心抽象与具体实现分离成多个包,让开发更清晰、更轻量。
核心依赖包一览
┌─────────────────────────────────────────────────────────────┐
│ langchain (主包) │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ langchain-core │ │
│ │ (核心抽象层:接口、Schema、LCEL) │ │
│ └──────────────────────────────────────────────────────┘ │
│ ↑ ↑ ↑ │
│ langchain- langchain- langchain- │
│ community openai anthropic │
└─────────────────────────────────────────────────────────────┘
| 包名 | 作用 | 特点 |
|---|---|---|
| langchain-core | 核心抽象层 | 轻量、无第三方依赖 |
| langchain | 主包 | 高阶 API、通用逻辑 |
| langchain-community | 社区集成 | 丰富但质量不一 |
| langchain-openai | 官方集成 | 官方维护、更新快 |
2.1 langchain-core:基石
定义所有组件的标准接口,包含 LCEL(LangChain 表达式语言)。
from langchain_core.prompts import PromptTemplate
# 定义提示词模板
prompt = PromptTemplate.from_template("请为{product}公司起5个名字")
# 格式化
formatted = prompt.format(product="智能水杯")
print(formatted) # 输出:请为智能水杯公司起5个名字
2.2 langchain:主入口
组合核心组件的"胶水"层,提供创建 Agent 的高阶 API。
from langchain.agents import create_agent
# 创建智能体
agent = create_agent(llm, tools)
# 调用
result = agent.invoke({
"messages": [{"role": "user", "content": "帮我查天气"}]
})
2.3 langchain-community:社区集成
第三方服务集成(数据库、存储、工具、向量库等)。
from langchain_community.document_loaders import PyPDFLoader
# 加载 PDF 文档
loader = PyPDFLoader("report.pdf")
docs = loader.load()
print(f"加载了 {len(docs)} 页")
常用模块:
document_loaders:PDF、CSV、HTML、Markdownvectorstores:Chroma、Pinecone、Qdranttools:Slack、Notion、GitHub
2.4 langchain-openai:官方集成
OpenAI 官方维护的深度集成包,生产环境推荐使用。
from langchain_openai import ChatOpenAI
# 初始化模型
model = ChatOpenAI(model="gpt-4o-mini")
# 调用
response = model.invoke("你好,请介绍一下自己")
print(response.content)
为什么单独拆出来?
- 主包保持轻量,不强制安装所有厂商 SDK
- 按需安装:只用 OpenAI → 只装
langchain-openai
主流厂商包:
| 包名 | 厂商 |
|---|---|
| langchain-openai | OpenAI、Azure OpenAI |
| langchain-anthropic | Claude |
| langchain-google | Gemini、Vertex AI |
| langchain-deepseek | DeepSeek |
| langchain-ollama | 本地 Ollama |
2.5 langchain-classic:兼容旧版
v0.x 旧 API 的兼容包,用于平滑迁移。
from langchain_classic.chat_models import ChatOpenAI
何时使用:现有项目升级到 v1.0 时,某些旧功能还在使用。
快速上手:安装选择
# 最小安装(仅核心)
pip install langchain-core
# 常用组合
pip install langchain langchain-openai
# 完整安装(按需)
pip install langchain-community
总结
| 场景 | 推荐安装 |
|---|---|
| 学习概念 | langchain-core |
| 生产项目 | langchain + langchain-openai |
| 需要第三方集成 | 额外安装 langchain-community |
| 迁移旧项目 | 额外安装 langchain-classic |