LangChain 1.x 现代版学习笔记:

前言:

最近在学习

LangChain 时发现一个巨大的痛点:网上绝大多数教程,比如B站的尚硅谷和黑马,都停留在 0.0.x 时代(还在教 LLMChainpredict() 等已被废弃的语法)。而现代的 LangChain(1.x 版本以上)已经全面拥抱了全新的架构和 LCEL(LangChain 表达式语言)。 为了避免踩坑和各种莫名其妙的 ImportError,我整理了这份基于最新官方文档的现代版 LangChain 学习路线与核心笔记。


一、 核心基础:新版包结构“大拆分”

旧版 LangChain 是一个臃肿的“全家桶”,一更新容易导致全局报错。新版将其拆分成了“乐高模块”,按需安装,代码更稳定:

  • langchain-core(核心主板): 定义所有最基础的协议(如 RunnableMessagePromptTemplate)。非常稳定,极少发生破坏性更新。
  • langchain-{provider}(官方独立包): 各大厂商独立维护的模型包。例如要调用 OpenAI,需单独安装 langchain-openai
  • langchain-community(社区集市): 包含开源社区贡献的第三方工具和冷门数据库集成。
  • langchain(高级组装包): 包含特定的高级逻辑和 Agent 组装接口。

避坑指南: 以后导包时,先想想这个功能属于底层核心、第三方厂商,还是社区工具!


image.png

二、 现代 LangChain 学习七步法大纲

  1. 环境与基础架构搭建
    • 理解新版包分离逻辑。
    • 配置 .env 环境变量,安全管理 API 密钥。
  2. LCEL 表达式语言(绝对核心)
    • 彻底放弃传统的 Chain 类,拥抱 Runnable 协议。
    • 熟练使用管道符 | 进行声明式编程编排组件。
  3. 提示词与输出解析 (Prompts & Parsers)
    • 掌握 ChatPromptTemplate 进行多角色(System/Human/AI)消息编排。
    • 使用 PydanticOutputParser 强制模型输出结构化 JSON 数据。
  4. 新版 RAG(检索增强生成)
    • 学习文档加载与切分(Splitters)。
    • 向量化(Embeddings)与轻量级向量数据库(如 Chroma/FAISS)。
    • 使用新版 create_retrieval_chain 替代被废弃的检索链。
  5. 记忆机制 (Memory)
    • 淘汰 ConversationBufferMemory
    • 使用 RunnableWithMessageHistory 动态拦截 LCEL 链并注入历史聊天记录。
  6. Agent 智能体与 LangGraph
    • 使用 @tool 装饰器定义 Python 工具函数。
    • 构建 OpenAI Tools Agent。
    • 进阶:使用状态图思想构建 LangGraph 复杂智能体。
  7. 生产级部署与监控
    • 使用 LangServe 一键将 LCEL 链转化为 FastAPI 接口。
    • 集成 LangSmith 监控 Token 消耗与调试代码。