LangChain框架之概念学习(一)
简介
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 提供了一个标准的代理接口,一系列可供选择的代理,以及端到端代理的示例。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!