前言

大家好!LangChain 迎來了 v1.0 這個里程碑版本(2025 年10月正式發佈),這是 LangChain 團隊經過幾年社區反饋和生產實踐後,對框架的一次大刀闊斧的重構。

最大的變化就是模塊化拆分:過去一個 langchain 包,現在被拆成了多個獨立、可按需安裝的包。這樣做的好處是:

  • 主包更輕量、更專注(安裝更快、依賴更少)
  • 生產環境更穩定(只裝你需要的部分)
  • 生態更清晰(核心抽象、社區集成、廠商集成、舊版兼容各司其職)
  • 便於維護和貢獻

本文專為 LangChain 愛好者 編寫,幫助你快速搞懂 v1.0 的每個包是幹什麼的、該什麼時候裝哪個包、它們之間的依賴關係,以及一些最佳實踐。

官方 v1.0 發佈説明:https://docs.langchain.com/oss/python/releases/langchain-v1
最新博客(2025 年 11 月):https://blog.langchain.com/langchain-langgraph-1dot0/

  1. LangChain v1.0 各模塊一覽表

包名稱

核心定位

主要內容與作用

依賴關係

適合場景

langchain-core

核心抽象層 + LCEL(表達式語言)

定義所有組件的標準接口(ChatModel、Embeddings、Tool、Message、Prompt 等),LCEL 實現,不含任何第三方集成

無(最底層)

所有 LangChain 項目都必須依賴

langchain

主包:構建 Agent 的“開箱即用”入口

聚焦現代 Agent 架構:create_agent、middleware、中間件系統、init_chat_model 等高階 API,重新導出 core 的常用類

依賴 langchain-core

大多數新手/生產項目直接用這個

langchain-community

社區維護的第三方集成

大量文檔加載器、向量庫、工具、少見模型集成(質量參差不齊)

依賴 langchain-core

快速驗證想法、用到冷門集成時

langchain-[partner] (如 langchain-openai)

官方深度支持的廠商集成

特定廠商的最優實現(如 ChatOpenAI),支持最新特性(content blocks、structured output)

只依賴 langchain-core

生產環境強烈推薦(穩定、更新快)

langchain-classic

舊版兼容包(Legacy)

v0.x 的所有舊 Chain、舊 Retriever、Indexing API、舊 AgentExecutor 等

獨立包

正在從 v0.x 遷移的老項目

  1. 各模塊詳細説明

2.1 langchain-core:一切的基石(必須裝)

  • 定位:最輕量、最純粹的包,只定義“接口”,不實現任何具體廠商或第三方功能。
  • 核心內容
  • 所有組件的基類和抽象:BaseChatModelBaseToolEmbeddingsRunnable
  • 消息系統:HumanMessageAIMessageToolMessage、內容塊(content blocks,支持多模態)
  • LCEL(LangChain Expression Language):用 | 管道符快速組合組件
  • @tool 裝飾器、工具調用規範
  • 為什麼這麼設計?
    讓整個生態都有統一的標準,其他包只需實現這些接口即可。

2.2 langchain(主包):v1.0 的真正“主角”

v1.0 把 langchain 包徹底精簡,只保留 構建現代 Agent 的最核心、最好用的 API,底層基於 LangGraph(狀態機 + 可持久化 + streaming + human-in-the-loop)實現。

  • 定位:給你一個“開箱即用”的 Agent 構建體驗,適合 90% 的實際項目。
  • 關鍵變化
  • 命名空間大幅精簡(過去幾百個類,現在只有最精華的部分)
  • 推薦入口:create_agent() 一行代碼創建完整 Agent
  • 新增 middleware 系統,可以非常靈活地插拔行為(上下文工程、工具動態切換等)
  • 主要模塊一覽

模塊路徑

核心內容

説明

langchain.agents

create_agent , AgentState, middleware

新版 Agent 創建與執行器

langchain.messages

AIMessage , HumanMessage, trim_messages

從 core 重新導出,方便使用

langchain.tools

@tool , BaseTool

工具定義

langchain.chat_models

init_chat_model

統一初始化任意廠商模型(廠商無關)

langchain.embeddings

init_embeddings

統一初始化嵌入模型

  • 安裝pip install langchain(會自動帶上 core)
  • 新手最佳實踐:直接從 langchain 導入一切,寫代碼最順手。
from langchain import create_agentfrom langchain_openai import ChatOpenAI   # 模型來自廠商包agent = create_agent(model=ChatOpenAI(model="gpt-4o"))

2.3 langchain-community:社區“大雜燴”

  • 定位:社區貢獻的“功能擴展層”,放所有非核心、非熱門的集成。
  • 典型內容
  • 文檔加載器:PDF、CSV、HTML、Markdown、DirectoryLoader 等
  • 文本分割器:RecursiveCharacterTextSplitter
  • 向量庫:Chroma、Pinecone、Qdrant、Milvus、PGVector 等
  • 工具:Slack、Notion、GitHub、ArXiv、YouTube 等
  • 少見模型:通義千問、DeepSeek(社區版)、本地 Ollama 等
  • 特點
  • 數量極其龐大(覆蓋 95% 的冷門需求)
  • 質量參差不齊、更新可能滯後(社區維護)
  • 依賴都是可選的,安裝時只會拉取你實際用到的
  • 安裝pip install langchain-community
  • 建議:原型階段可以用,生產環境優先換成官方廠商包或自己維護。

2.4 langchain-[partner]:官方深度廠商包(生產必備)

這些是 LangChain 團隊與廠商共同維護的“黃金集成”,目前主流的有:

包名

支持的模型/服務

langchain-openai

OpenAI、Azure OpenAI

langchain-anthropic

Claude 全系列

langchain-google

Gemini、Vertex AI

langchain-groq

Groq(Llama3 等超快推理)

langchain-ollama

本地 Ollama

langchain-deepseek

DeepSeek

……

更多持續增加

  • 為什麼單獨拆出來?
  • 主包保持輕量(不強制安裝所有廠商 SDK)
  • 更新更快、支持最新特性(多模態 content blocks、structured output、工具調用規範)
  • 只依賴 langchain-core,安裝體積最小
  • 最佳實踐
  • 生產環境:務必使用對應廠商包(如 from langchain_openai import ChatOpenAI
  • 多模型切換:用 init_chat_model("openai:gpt-4o")"anthropic:claude-3-opus",代碼零改動
  • 兼容 OpenAI 格式的第三方(如 DeepSeek、火山引擎)也可以直接用 langchain-openai,只改 base_url 和 key

2.5 langchain-classic:舊代碼的“救生艇”

官方把 v0.x 中所有 已被棄用(deprecated) 的功能全部搬到這個包裏,讓 v1.0 主包保持乾淨。

  • 包含內容
  • 舊版 Chain:LLMChainSequentialChainRouterChain
  • 舊版 Retriever:MultiQueryRetrieverParentDocumentRetriever
  • 舊版 Agent:AgentExecutor、零樣本 ReAct 等
  • Indexing API、LangChain Hub 等
  • 安裝pip install langchain-classic
  • 導入變化from langchain_classic.chains import LLMChain
  • 建議:新項目不要用,老項目儘快遷移到新 Agent(create_agent + LangGraph)。
  1. 升級與最佳實踐建議

  1. 新項目直接上 v1.0
pip install langchain langchain-openai  # 夠用了
  1. 只用 OpenAI:只裝 langchain-core + langchain + langchain-openai
  2. 需要向量庫/文檔加載:先看有沒有在社區包,生產再考慮自研或官方替代
  3. 遷移老項目:先加 langchain-classic,改 import,再逐步替換成新 API
  4. 統一模型初始化(強烈推薦):
from langchain.chat_models import init_chat_modelmodel = init_chat_model("gpt-4o", model_provider="openai")  # 或 "anthropic"
  1. 寫在最後

LangChain v1.0 的模塊化拆分,是框架走向成熟的標誌:更輕、更快、更專注 Agent、更易維護。對新手來説,你只需要記住:

  • 日常開發pip install langchain langchain-openai → 從 langchain 包導入一切
  • 生產部署:儘量用官方廠商包
  • 探索新功能:放心用社區包試水