1.LangChain #
LangChain 是一个专为开发大语言模型 (LLM) 应用而设计的框架。它可以帮助开发者更高效地管理与大模型的交互、数据链路,以及将LLM与现实世界的数据和工具进行结合。LangChain 有以下几个重要特点:
模块化
LangChain 拥有清晰的模块结构,包括 Prompt Templates(提示模板)、Memory(记忆)、Chains(链)、Agents(代理)等,这些模块可独立使用也可组合搭建复杂应用。支持多模型和多后端
可以与 OpenAI、Anthropic、Cohere、Google PaLM 等多种大模型及API无缝对接,也支持本地模型部署。链式结构
允许开发者将数据处理、推理、记忆等多个步骤串联起来,灵活定制功能强大的链式工作流。Agent 智能体机制
支持 Agent,能够使模型根据上下文动态选择工具并自主决策,实现更复杂的任务分解与执行。多样的集成功能
可方便地集成检索增强生成(RAG),支持与搜索引擎、数据库、API等外部资源结合;支持工具调用、插件与知识库扩展。
2.LangChain生态 #
uv add langchain langchain-openai langchain_deepseek langchain_community dashscope faiss-cpuLangChain 生态包含多个相关的 Python 包,它们各自承担不同的角色,相互协作,共同实现强大的大语言模型应用开发能力。
langchain
这是 LangChain 的主包,集成并协调各个子模块和生态包的一致接口。大部分应用开发者只需直接安装和使用此包即可。它对下游的核心、代理、工具等功能进行统筹和简化,负责统一调用各类功能,并维护了和各类后端(例如 OpenAI、Anthropic、Community、Classic 等)的适配。langchain-core
LangChain 的核心基础库,定义了所有框架的基本接口、类型、核心链式逻辑、工具抽象、消息结构等。这个包非常轻量,几乎不依赖外部大厂或者模型实现,主要关注抽象和最基础的链式运算定义。langchain 主包依赖于它。langchain-community
这是一个社区集合包,提供由社区编写和维护的各种数据源、工具、模型集成等拓展组件,比如第三方大模型接口、自定义文档加载器、数据库集成工具等。langchain 主包会自动整合这些拓展,使其便于直接调用。langchain-openai
专门针对 OpenAI 家族大模型接口(如 GPT-3, GPT-4, ChatGPT, OpenAI Embedding 等)做适配与集成的包。它依赖langchain-core中的接口,并作为一个“后端插件”被主包、社区包等统一协调调度。langchain-deepseek
这个包专门用于接入 DeepSeek 相关的大模型服务(如 DeepSeek LLM),本质上和langchain-openai类似,属于官方或者社区贡献的“特定后端适配包”。它实现了标准接口,便于和 LangChain 的链式逻辑组合。langchain_classic
此为 LangChain 生态因版本升级造成重大变化后,为了兼容老版本 API/行为而准备的包。它提供了一些经典写法的适配,有助于老项目平滑迁移到新架构。今后开发建议直接用上方的新包。
依赖与集成关系示意
langchain(主包)- 依赖/集成 →
langchain-core - 集成 ←
langchain-community、langchain-openai、langchain-deepseek等后端包 - 兼容 ←
langchain_classic(为维护历史代码)
- 依赖/集成 →
通过这种划分,LangChain 能实现“核心与扩展分离”、“新旧兼容”、“社区活力扩展”的生态设计。开发者挑选合适的适配包,即可快速构建支持不同后端模型与工具链的大语言模型应用。