🧩 LangChain 模块关系与架构全解析

你提到的这些包:
langchain-corelangchainlangchain-openailangchain-communitylangchain-text-splitterslangchain-deepseek
确实都与 LangChain 框架相关。下面是它们的关系、依赖、演化顺序和架构图说明


🏗️ 一、LangChain 模块化演化

LangChain 最早是一个单一包

pip install langchain

后来因为:
• 包体太大,安装慢;
• 依赖冲突频发;
• 用户通常只用到部分模块;

官方进行了模块化拆分,形成了如下层级结构:

langchain-core

├── langchain
│ ├── langchain-community
│ ├── langchain-openai
│ ├── langchain-text-splitters
│ └── langchain-deepseek

🧠 二、各包的功能与依赖关系

1️⃣ langchain-core

LangChain 的“核心层”。

定义了框架的核心抽象接口与类型系统:
• BaseLanguageModel
• BaseChatModel
• Document
• Runnable
• PromptTemplate
• CallbackManager

📦 依赖关系

langchain-core
└── 无其他依赖(所有其他包都依赖它)

📚 安装

pip install langchain-core

2️⃣ langchain

框架主入口,整合核心能力和高级接口。

它提供链(Chains)、代理(Agents)、执行流(Runnables)等框架层能力。

📦 依赖

langchain
├── langchain-core
├── langchain-community
└── langchain-text-splitters(间接)

📚 安装

pip install langchain

3️⃣ langchain-community

“社区集成层”,包含各种第三方适配器。

例如:
• 向量数据库:Chroma、FAISS、Pinecone、Redis
• 模型接入:HuggingFace、Cohere
• 工具集成:Google Search、文件加载器等

📦 依赖

langchain-community
├── langchain-core
└── 第三方SDK(redis, chromadb 等)

📚 安装

pip install langchain-community

4️⃣ langchain-openai

针对 OpenAI 模型的适配层。

实现:
• ChatOpenAI
• OpenAIEmbeddings
• AzureOpenAI

📦 依赖

langchain-openai
├── langchain-core
└── openai

📚 安装

pip install langchain-openai

5️⃣ langchain-text-splitters

文本分块工具包。

常用于 RAG 场景中对长文档的分片。
支持:
• RecursiveCharacterTextSplitter
• MarkdownHeaderTextSplitter
• TokenTextSplitter

📦 依赖

langchain-text-splitters
└── langchain-core

📚 安装

pip install langchain-text-splitters

6️⃣ langchain-deepseek

DeepSeek 模型适配层。

封装了对 DeepSeek API 的支持:
• DeepSeekChat
• DeepSeekEmbeddings

📦 依赖

langchain-deepseek
├── langchain-core
└── deepseek (官方SDK)

📚 安装

pip install langchain-deepseek

🧩 三、依赖结构图

             ┌──────────────────────┐
             │   langchain-core     │
             │ (定义接口与核心类型) │
             └──────────┬───────────┘
                        │
   ┌────────────────────┼────────────────────┐
   │                    │                    │

┌───────────────┐ ┌────────────────┐ ┌─────────────────────┐
│ langchain │ │ langchain-openai│ │ langchain-community │
│ (框架主入口) │ │ (OpenAI适配) │ │ (社区集成包) │
└──────┬────────┘ └────────────────┘ └─────────────────────┘


┌───────────────┐ ┌────────────────┐
│ text-splitters│ │ langchain-deepseek │
│ (文本分块工具)│ │ (DeepSeek适配包) │
└───────────────┘ └────────────────┘

🕰️ 四、出现的时间顺序

时间 模块 说明
2022 langchain 单包版本(所有内容混合)
2023 langchain-core 核心层抽象分离
2023 Q4 langchain-community, langchain-openai 集成层模块化
2024 Q1 langchain-text-splitters 工具层拆出
2024 Q3 langchain-deepseek 第三方模型适配扩展

📊 五、模块总结表

包名 职责 依赖 是否必须 举例
langchain-core 核心抽象与类型定义 无 ✅ 必须 BaseChatModel
langchain 框架主入口 core + community ✅ 常用 LLMChain
langchain-community 社区插件与集成 core ✅ 常用 Chroma, FAISS
langchain-openai OpenAI 模型支持 core + openai 可选 ChatOpenAI
langchain-text-splitters 文本分块工具 core 可选 RecursiveCharacterTextSplitter
langchain-deepseek DeepSeek 模型支持 core + deepseek 可选 DeepSeekChat

✅ 六、推荐安装组合

使用场景 推荐安装命令
使用 OpenAI 模型 pip install langchain langchain-openai
使用 DeepSeek 模型 pip install langchain langchain-deepseek
做 RAG 文档检索 pip install langchain langchain-community langchain-text-splitters

🎨 七、架构示意图

📘 总结:
• langchain-core 是所有包的地基。
• langchain 是框架主入口。
• langchain-community、langchain-openai、langchain-deepseek 是扩展集成层。
• langchain-text-splitters 是工具层。

模块化设计让 LangChain 更轻、更灵活,也方便第三方厂商扩展模型生态。

Logo

中国智能体开发者社区,聚焦智能体与大模型开发,提供前沿资讯、实用工具链、开源项目及行业案例。通过技术沙龙、开发者大赛等活动,促进经验交流与协作,助力开发者快速构建创新智能应用。

更多推荐