langchain Introduction

LangChain是一个用于开发由大型语言模型(LLMs)驱动的应用程序的框架。以下是LangChain框架的一些核心特性和组成部分:

  1. 开发(Development)

    • LangChain提供了开源的构建模块、组件和第三方集成,帮助开发者构建应用程序。
    • 使用LangGraph可以构建具有一流流式处理和人机协作支持的有状态代理。
  2. 生产化(Productionization)

    • LangSmith是一个开发者平台,允许用户检查、监控和评估链,以便持续优化并自信地部署。
  3. 部署(Deployment)

    • 通过LangGraph Cloud,可以将LangGraph应用程序转变为生产就绪的API和助手。
  4. 框架组成

    • langchain-core:基础抽象和LangChain表达式(LCEL)。
    • langchain-community:第三方集成。
    • 合作伙伴库(例如langchain-openailangchain-anthropic等):一些集成已进一步拆分为自己的轻量级库,仅依赖于langchain-core
    • langchain:组成应用程序认知架构的链、代理和检索策略。
    • LangGraph:通过将步骤建模为图中的边和节点,构建强大且有状态的多参与者应用程序。与LangChain无缝集成,但也可以单独使用。
    • LangServe:将LangChain链部署为REST API。
    • LangSmith:一个开发者平台,让您调试、测试、评估和监控LLM应用程序。
  5. 其他特性

    • LangChain支持使用SimpleSequentialChain将一个函数的输出作为下一个函数的输入。
    • 提供了多种文档加载器,方便从第三方应用(如Dropbox、Google Drive、Microsoft OneDrive等)导入数据。
    • 支持超过25种不同的嵌入方法和50多种不同的向量存储(包括云托管和本地)。
    • 提供TextSplitters,将大型文本文档分割成小的、语义上有意义的块。
    • 支持检索增强生成(RAG),其检索器模块接受字符串查询作为输入并返回文档列表。
    • 通过简单的工具为系统添加记忆,以解决LLMs默认没有长期记忆的问题。
    • LangChain代理可以使用给定的语言模型作为“推理引擎”来确定采取哪些行动。

LangChain框架通过提供这些工具和集成选项,使得开发者能够更容易地构建、部署和管理基于LLM的应用程序。