LangChain1.0核心依赖包及作用
| 依赖包名称 | 核心作用 | 详细功能介绍 |
|---|---|---|
| langchain-core | 核心抽象层和 LCEL | 定义所有组件(如模型、消息、提示词模板、工具、运行环境)的标准接口和基本抽象。它包含了 LangChain 表达式语言 (LCEL),这是构建链式应用的基础。这是一个轻量级、不含第三方集成的基石包。 |
| langchain | 应用认知架构(主包) | 包含构建 LLM 应用的通用高阶逻辑,如 Agents (如新的 create_agent() 函数)、Chains 和通用的检索策略 (Retrieval Strategies)。它建立在 langchain-core 之上,是用于组合核心组件的“胶水”层。 |
| langchain-community | 社区第三方集成 | 包含由 LangChain 社区维护的非核心或不太流行的第三方集成,例如:大部分的文档加载器 (Document Loaders)、向量存储 (Vector Stores)、不太流行的 LLM/Chat Model 集成等。为了保持包的轻量,所有依赖项都是可选的。 |
| langchain-openai / langchain-[厂商名称] | 特定厂商深度集成 | 针对 关键合作伙伴 的集成包(如 langchain-openai, langchain-anthropic)。它们被单独分离出来,以提供更好的支持、可靠性和更轻量级的依赖。它们只依赖于 langchain-core。 |
| langchain-classic | 旧版本兼容 | 包含 LangChain v0.x 版本中的已弃用 (deprecated) 或旧版功能,如旧的 LLMChain、旧版 Retrievers、Indexing API 和 Hub 模块。它的主要作用是为用户提供一个平稳的迁移期,确保旧代码在升级到 v1.0 后仍能运行。 |
langchain-core
- 包含 核心抽象与接口:LLM/ChatModel 抽象、Prompt 抽象、Chain/Agent 的基类、schema、消息格式等。
- 不包含具体厂商的实现(例如没有 OpenAI client 的封装),而是定义“合同(interfaces)”,其他包在此之上实现具体功能。
- 这是构建 LangChain 应用生态的最小公共底座。
# 安装:pip install langchain
from langchain_core.prompts import PromptTemplate
prompt_template = PromptTemplate.from_template(
"{city}的公司起一个好名字?"
)
formatted_prompt = prompt_template.format(city="北京")
response = model.invoke(formatted_prompt)
langchain主包
- 对外的主入口包:把
langchain-core的核心抽象与“常用实现”组合在一起,便于快速上手。 - 在 v1.0 中,
langchain的命名空间被 显著精简,只保留构建 agent 的关键 API(更轻、更专注)。官方建议大多数用户直接使用此主包以获得“开箱即用”的体验。
| 模块 | 核心内容 | 来源说明 |
|---|---|---|
langchain.agents |
create_agent, AgentState |
智能体创建核心 |
langchain.messages |
AIMessage, HumanMessage, trim_messages |
从langchain-core重新导出 |
langchain.tools |
@tool, BaseTool |
从langchain-core重新导出 |
langchain.chat_models |
init_chat_model, BaseChatModel |
统一模型初始化 |
langchain.embeddings |
init_embeddings |
嵌入模型管理 |
from langchain.agents import create_agent
# 创建智能体
agent_executor = create_agent(llm, tools)
result = agent.invoke({
# 消息
"messages": [{
"role": "user",
"content": "会议决定:张三需要在下周一前完成项目报告"
}]
})
langchain-community 第三方集成库
langchain-community 作为 LangChain 1.0 的“功能扩展层”,通过社区贡献的非官方集成组件显著扩展了主包的功能边界,其核心价值体现在工具类组件与平台集成两大维度。工具类组件覆盖文档处理全流程,包括 DirectoryLoader 文档加载器(支持 PDF、文本等多格式文件批量导入)、RecursiveCharacterTextSplitter 文本分割器(按语义边界将文档切分为检索友好的 Chunk)、PGVector 向量存储(PostgreSQL 生态的向量数据库适配)及 HuggingFaceEmbeddings 嵌入模型(本地部署模型的向量化能力),这些组件共同构成了 RAG 应用的技术基础。平台集成方面,支持与 DeepSeek、阿里云通义千问等模型的对接,例如通过 langchain_community.chat_models.ChatTongyi 类初始化通义千问模型,或利用 Ollama 类调用本地部署的 DeepSeek-R1 模型。
包含内容:
- 数据库:MySQL, PostgreSQL, MongoDB, Neo4j等连接器
- 存储服务:AWS S3, 阿里云OSS, Google Cloud Storage
- 工具集成:Slack, Notion, GitHub, ArXiv, YouTube等API
- 向量数据库:Chroma, Pinecone, Qdrant, Milvus等
- 文档加载器:PDF, CSV, HTML, Markdown解析器
特点:
- 质量参差不齐:社区贡献,需自行验证稳定性
- 更新滞后:依赖社区维护,响应速度慢于官方包
- 功能丰富:覆盖95%的第三方服务集成需求
# 安装:pip install langchain-community
from langchain_community.document_loaders import NotionDBLoader
# 从Notion数据库加载文档
loader = NotionDBLoader(
integration_token="secret_...",
database_id="your-db-id"
)
documents = loader.load()
print(f"加载了{len(documents)}条文档")
langchain-openai(厂商/提供者集成包)
厂商特定集成包(如 langchain-openai、langchain-anthropic、langchain-google 等)通过封装 API 细节,为开发者提供“零适配成本”的模型对接方案,其核心价值在于简化特定 API 对接流程,使开发者能够直接使用厂商特有功能。以 langchain-openai 为例,其关键组件包括模型客户端、工具调用适配和多模型支持三大模块。
此外,该类还支持通过配置 openai_api_base 和 openai_api_key 参数对接兼容 OpenAI API 格式的第三方模型,如 DeepSeek 模型
- 专门负责把 OpenAI 的 SDK 与 LangChain 抽象连接起来:提供
ChatOpenAI、OpenAIEmbeddings、OpenAI等类的实现。 - 这类包通常是 “按厂商拆分”:
langchain-openai、langchain-azure、langchain-anthropic、langchain-deepseek等。 - 官方深度集成特定LLM提供商,更新频繁,功能最全.
#!pip install langchain-openai
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model="gpt-4o-mini")
question = "你好,请你介绍一下你自己。"
result = model.invoke(question)
print(result.content)
主流厂商包列表:
langchain-openai:OpenAI, Azure OpenAIlangchain-anthropic:Claude系列langchain-google:Gemini, Vertex AIlangchain-deepseek:DeepSeek模型langchain-ollama:本地Ollama部署
与langchain-community的区别:
| 维度 | langchain-openai |
langchain-community 中的OpenAI |
|---|---|---|
| 维护方 | OpenAI官方 + LangChain团队 | 社区维护 |
| 更新频率 | 即时跟进API更新 | 延迟数周 |
| 功能完整性 | 支持所有新特性(如音频、视觉) | 仅基础功能 |
| 生产可用性 | ✅ 强烈推荐 | ⚠️ 谨慎使用 |
langchain-classic
- 兼容包 / 迁移包:把 LangChain v0.x 中的“老 API / legacy 功能”搬到单独包里,以便 v1.0 保持精简,但仍给用户向后兼容的迁移通道。
- 包含如:老的 Chain 实现、旧版 retrievers、索引 API、hub 模块等被标记为“legacy”的功能。
- 旧版
AgentExecutor - Legacy Chains(
LLMChain,SequentialChain等)
- 旧版
#!pip intsall langchain-classic
from langchain_classic.chat_models import ChatOpenAI
model = ChatOpenAI(model="gpt-4o-mini")
res = model.invoke("请介绍一下你自己")
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)