LangChain 采用分层设计,各层职责清晰且可独立使用:
v1.x 对包结构进行了彻底重构,解决了 v0 时代"一个包塞满一切"的问题:
包名 | 职责 |
|---|---|
langchain-core | 稳定基座:BaseMessage、Runnable、Tool 等抽象接口 |
langchain | 上层组合:agents、chat_models、tools、messages 等核心命名空间 |
langchain-classic | 遗留功能:旧版 Chains、Retrievers、Hub 等迁移至此 |
langchain-community | 社区集成:第三方工具集成(500+) |
langchain-openai / langchain-anthropic 等 | 官方集成包:与各大 LLM 提供商的深度集成 |
langgraph | 图编排引擎:用"图"管理复杂任务流程,支持循环和分支 |
生产环境建议直接依赖 langchain-core 加所需集成包,避免引入整个 langchain 全家桶。
组件类别 | 用途 | 关键组件 |
|---|---|---|
Models | AI 推理和生成 | Chat Models、LLMs、Embedding 模型 |
Tools | 外部能力接入 | API 调用、数据库查询、Web 搜索 |
Agents | 编排和推理 | ReAct Agents、Tool Calling Agents |
Memory | 上下文保持 | 消息历史、自定义状态 |
Retrievers | 信息获取 | 向量检索器、Web 检索器 |
Document Processing | 数据摄入 | Loaders、Splitters、Transformers |
Vector Stores | 语义存储 | Chroma、Pinecone、FAISS 等 |