导航菜单

  • 1.langchain.intro
  • 2.langchain.chat_models
  • 3.langchain.prompts
  • 4.langchain.example_selectors
  • 5.output_parsers
  • 6.Runnable
  • 1.LangChain
  • 2.LangChain生态

1.LangChain #

  • langchain官方文档
  • langchain中文文档
  • scikit-learn
  • MMR
  • faiss
  • abc
  • Pydantic
  • langchain

LangChain 是一个专为开发大语言模型 (LLM) 应用而设计的框架。它可以帮助开发者更高效地管理与大模型的交互、数据链路,以及将LLM与现实世界的数据和工具进行结合。LangChain 有以下几个重要特点:

  1. 模块化
    LangChain 拥有清晰的模块结构,包括 Prompt Templates(提示模板)、Memory(记忆)、Chains(链)、Agents(代理)等,这些模块可独立使用也可组合搭建复杂应用。

  2. 支持多模型和多后端
    可以与 OpenAI、Anthropic、Cohere、Google PaLM 等多种大模型及API无缝对接,也支持本地模型部署。

  3. 链式结构
    允许开发者将数据处理、推理、记忆等多个步骤串联起来,灵活定制功能强大的链式工作流。

  4. Agent 智能体机制
    支持 Agent,能够使模型根据上下文动态选择工具并自主决策,实现更复杂的任务分解与执行。

  5. 多样的集成功能
    可方便地集成检索增强生成(RAG),支持与搜索引擎、数据库、API等外部资源结合;支持工具调用、插件与知识库扩展。

2.LangChain生态 #

uv add langchain langchain-openai langchain_deepseek  langchain_community dashscope faiss-cpu

LangChain 生态包含多个相关的 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 能实现“核心与扩展分离”、“新旧兼容”、“社区活力扩展”的生态设计。开发者挑选合适的适配包,即可快速构建支持不同后端模型与工具链的大语言模型应用。

访问验证

请输入访问令牌

Token不正确,请重新输入