LangChain入门1-基本介绍

langChain入门1-基本介绍🦜

我从23年10月份开始接触langChain,在这几个月使用过程中,langChain以肉眼可见的速度产生了很大的变化,现在看来整体框架已经开始趋于稳定,结构也变的清晰了起来。在读官方文档的时候,我时常感觉晦涩难懂,所以我到想结合我的理解去写一份langChain的入门介绍,更适合中国宝宝体质,觉着还不错就点个赞,写的不好就直接在评论区指正,骂我也可以。

官方介绍

langChain是一个由语言模型驱动的应用开发框架。可以为我们提供上下文感知能力和依靠大语言模型进行推理(根据上下文回答问题和如何采取行动)。支持python和javaScript。
上下文感知能力(context-aware):我们知道在使用大语言模型(llm)的时候,llm是无状态的,无法感知上下文对话,需要使用者自己维护上下文,作为参数输入给llm。langChain提供了一系列工具,来完成相关的工作。
代理能力(agent):大语言模型只能输入文本输出文本,但是通过代理,我们就能让大模型有更强的能力,比如调用接口,打开浏览器,甚至是操作机器。

我对langChain理解

从最初的输入到最终的输出,程序可能需要经过很多步骤(可以是格式化、prompt拼接等等),我们可以看作一个长长的调用链条chains⛓️,编排这些chain就是langChain最初的目标。发展到目前为止,在我看来langChain在大语言模型中的角色就相当于java中的spring、python当中的Django,是一个方便我们开发的框架,没有它也不是不行,只不过可能没那么方便。

此外langChain也可以看作是对语言模型的抽象,可以在保证逻辑不变的情况下切换不同的语言模型。当然,目前的情况是,不同语言模型的能力不同,有些功能也并不支持,langChain对openAI支持的比较好,不过其他的语言模型也不是不能用,基本的功能还是没问题的。

架构

目前langChain主要包含几个部分,

  • langChain Libraries: python和javaScript的类库。由三部分组成
    • lanChain-core:最基础的抽象和langChain表达式 LCEL,后面我们详细介绍LCEL。
    • langChain-community:第三方内容的集成。
    • langChain:包含链(chains)、代理(agents)和检索等等,他们组成了一个应用的基本框架。
  • langChain Templates: 一个可以简单部署通用任务的参考模版集合。
  • LangServe: 以REST API的方式部署langChain 应用。
  • LangSmith: 一个可以帮你debug、test、评估以及镜像 chains 的开发平台。

langChain Expression Language(LCEL)

lCEL是整个langChain核心中的核心,他提供一种声明的方式,更快把chains组合到一起。LCEL从第一天起的设计目标就是“不需要代码修改,就能让原型投入到生产中”。LCEL有几个值得让你体验的亮点:

  • 流支持(Steaming support):让chain也能够像大多数llm一样流式输出内容。
  • 异步支持(Async support):任何使用LCEL构建的chain将会同时支持异步/同步调用。
  • 优化并行执行(Optimized parallel execution):当你的LCEL chains 有可以并行执行的步骤时(比如从多个数据源内取回数据)LCEL都会自动帮你切换并行执行。
  • 重试和回退(Retries and fallbacks):可以为chain的每一部分配置重试和回退。
  • 中间结果访问(Access intermediate results):在一些复杂的链中,最终输出之前可能经过很多步骤,获取中间步骤结果甚至比最终结果输出还重要。

简单对比可以发现,使用LCEL可以极大的简化我们的日常开发。
在这里插入图片描述

预告

安装和快速上手,我这几就不搬运了,各位可以根据官网案例进行尝试。后续我会介绍一下比较常用的LCEL的使用、agents、tools、retrieval和langServe,或者剖析一下LCEL源码。

  • 25
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值