LangChain框架之概念学习(一)

2023-12-20 17:06:55

简介

LangChain是一个语言模型驱动的开发应用程序的框架,于2022年10月底推出,由Harrison Chase开发。它使应用程序能够:

  • 具有情境感知能力(Are context-aware:):将语言模型与情境源(提示指令、少量示例、为其响应提供基础的内容等)连接起来。

  • 推理能力(Reason):依靠语言模型进行推理(基于提供的上下文如何回答,采取什么行动等)。
    该框架由几个部分组成。
    LangChain Libraries:Python和JavaScript库。包含无数组件的接口和集成,将这些组件组合成链和代理的基本运行时,以及链和代理的现成实现。
    LangChain模板:一系列易于部署的参考架构,适用于各种任务。
    LangServe:一个用于将LangChain链部署为REST API的库。
    LangSmith:一个开发平台,可以调试、测试、评估和监控基于任何LLM框架构建的链,并与LangChain无缝集成。
    在这里插入图片描述
    这些产品/组件共同简化了整个应用程序生命周期:

  • 开发(Develop):使用LangChain/LangChain.js编写应用程序。使用模板作为参考,可以立即上手。

  • 生产化(Productionize):使用LangSmith检查、测试和监控您的链,以便您可以不断改进并自信地部署

  • 部署(Deploy):使用LangServe将任何链转化为API。

LangChain Libraries

LangChain软件包的主要优点是:

  • 组件(Components):
    用于处理语言模型的组合工具和集成。组件是模块化的,易于使用,无论您是否使用LangChain框架的其他部分。
  • 内置的成套组件(Off-the-shelf chains)
    为了完成更高级别的任务,内置的组件组合。内置的成套组件可以轻松入门。组件可以轻松地定制现有的链和构建新的链。

LangChain库本身由几个不同的软件包组成。

langchain-core:基本抽象和LangChain表达式语言。
langchain-community:第三方集成。
langchain:构成应用程序认知体系结构的链、代理和检索策略。

模块

LangChain 提供了几个主要模块的支持。

这些模块按照复杂性递增排列如下:

模型(models) : LangChain 支持的各种模型类型和模型集成。

提示(prompts) : 包括提示管理、提示优化和提示序列化。

内存(memory) : 内存是在链/代理调用之间保持状态的概念。LangChain 提供了一个标准的内存接口、一组内存实现及使用内存的链/代理示例。

索引(indexes) : 与您自己的文本数据结合使用时,语言模型往往更加强大——此模块涵盖了执行此操作的最佳实践。

链(chains) : 链不仅仅是单个 LLM 调用,还包括一系列调用(无论是调用 LLM 还是不同的实用工具)。LangChain 提供了一种标准的链接口、许多与其他工具的集成。LangChain 提供了用于常见应用程序的端到端的链调用。

代理(agents) : 代理涉及 LLM 做出行动决策、执行该行动、查看一个观察结果,并重复该过程直到完成。LangChain 提供了一个标准的代理接口,一系列可供选择的代理,以及端到端代理的示例。

文章来源:https://blog.csdn.net/weixin_43747748/article/details/135105358
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。